die*_*gus 2 python numpy pandas
我有一个numpy数组(a):
array([[ 1. , 5.1, 3.5, 1.4, 0.2],
[ 1. , 4.9, 3. , 1.4, 0.2],
[ 2. , 4.7, 3.2, 1.3, 0.2],
[ 2. , 4.6, 3.1, 1.5, 0.2]])
Run Code Online (Sandbox Code Playgroud)
我想在我的numpy数组的第一列创建一个prandas dataframe(pd),其中values = a,columns = A,B,C,D和index =,最后它应该如下所示:
A B C D
1 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
2 4.6 3.1 1.5 0.2
Run Code Online (Sandbox Code Playgroud)
我在尝试这个:
df = pd.DataFrame(a, index=a[:,0], columns=['A', 'B','C','D'])
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ValueError: Shape of passed values is (5, 4), indices imply (4, 4)
Run Code Online (Sandbox Code Playgroud)
有帮助吗?谢谢
您将完整数组作为data
参数传递,如果您只需要数组中的4列作为数据,则还需要对数组进行切片:
In [158]:
df = pd.DataFrame(a[:,1:], index=a[:,0], columns=['A', 'B','C','D'])
df
Out[158]:
A B C D
1 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
2 4.6 3.1 1.5 0.2
Run Code Online (Sandbox Code Playgroud)
索引中也有重复值会使过滤/索引出现问题
所以a[:,1:]
我在这里采取所有行,但根据需要从第1列开始索引,请参阅文档
归档时间: |
|
查看次数: |
3237 次 |
最近记录: |