DataFrame、nparray和list格式之间的转换
将DataFrame转化为nparray
pandas.DataFrame 有values属性
文档解释:Return a Numpy representation of the DataFrame.
复制代码
1
2
3
4
5
6
7x = pd.DataFrame([[1,3],[2,4],[9,6]]) y = x.values print(x) print(type(x)) print(y) print(type(y))
输出:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
180 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中新添加一列
复制代码
1
2
3import pandas as pd data = pd.DataFrame(columns=['a','b'], data=[[1,2],[3,4]])
data
复制代码
1
2
3
4
5
6
7
8
9
10>>> data a b 0 1 2 1 3 4
增加一列空列
复制代码
1
2data['c'] = ''
data
复制代码
1
2
3
4
5
6
7
8
9
10>>> data a b c 0 1 2 1 3 4
新增一列
复制代码
1
2data['d'] = [5,6]=
data
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13>>> data a b c d 0 1 2 5 1 3 4 6
数组的定义
一维数组的定义
复制代码
1
2x = [1 for i in range(3)]
输出:
复制代码
1
2[1, 1, 1]
二维数组的定义
复制代码
1
2x = [[0 for j in range(4)]for i in range(3)]
输出:
复制代码
1
2[[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)等类似维度匹配的操作,这是不合法的,所以报错
复制代码
1
2
3
4
5import operator from functools import reduce a = [[1,2,3], [4,6], [7,8,9,8]] print(reduce(operator.add, a))
输出:
复制代码
1
2[1, 2, 3, 4, 6, 7, 8, 9, 8]
更多的实现方法请点击
最后
以上就是舒服马里奥最近收集整理的关于python 编程遇到的难点+debug的全部内容,更多相关python内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复