我是靠谱客的博主 舒服马里奥,最近开发中收集的这篇文章主要介绍python 编程遇到的难点+debug,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

DataFrame、nparray和list格式之间的转换

将DataFrame转化为nparray

pandas.DataFrame 有values属性
文档解释:Return a Numpy representation of the DataFrame.

x = pd.DataFrame([[1,3],[2,4],[9,6]])
y = x.values
print(x)
print(type(x))
print(y)
print(type(y))

输出:


0
1
0
1
3
1
2
4
2
9
6
<class 'pandas.core.frame.DataFrame'>
[[1 3]
[2 4]
[9 6]]
<class 'numpy.ndarray'>

DataFrame数据的操作

在Dataframe中新添加一列

import pandas as pd
data = pd.DataFrame(columns=['a','b'], data=[[1,2],[3,4]])

data

>>> data
a
b
0
1
2
1
3
4

增加一列空列

data['c'] = ''

data

>>> data
a
b c
0
1
2
1
3
4

新增一列

data['d'] = [5,6]=

data

>>> data
a
b c
d
0
1
2
5
1
3
4
6

数组的定义

一维数组的定义

x = [1 for i in range(3)]

输出:

 [1, 1, 1]

二维数组的定义

x = [[0 for j in range(4)]for i in range(3)]

输出:

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

生成34的二维数组,而非43的二维数组
注意观察:i 在 j 的后面,这样写也是为了表明行的定义在列定义的后面

将多维数据转为一维数组

bug示例:X must be 1D: shape is (1440, 1)
区别a=[[1,2,3,4,5]];a.dim=2
b=[1,2,3,4,5],b.dim=1
a是二维数组,而b是一维数组,两者不可以直接进行赋值(a = b)等类似维度匹配的操作,这是不合法的,所以报错

import operator
from functools import reduce
a = [[1,2,3], [4,6], [7,8,9,8]]
print(reduce(operator.add, a))

输出:

[1, 2, 3, 4, 6, 7, 8, 9, 8]

更多的实现方法请点击

最后

以上就是舒服马里奥为你收集整理的python 编程遇到的难点+debug的全部内容,希望文章能够帮你解决python 编程遇到的难点+debug所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部