Python &引用;“数据帧”;对象没有属性';重塑';

Python &引用;“数据帧”;对象没有属性';重塑';,python,csv,pandas,Python,Csv,Pandas,我想在没有标题的CSV文件中重塑一些数据,但我一直遇到这个错误 AttributeError: 'DataFrame' object has no attribute 'reshape' 这是我的脚本,我只想重塑第2列中的数据 import pandas as pd df = pd.read_csv("test.csv", header=None, usecols=[1]) start = 0 for i in range(0, len(df.index)): if (i + 1)

我想在没有标题的CSV文件中重塑一些数据,但我一直遇到这个错误

AttributeError: 'DataFrame' object has no attribute 'reshape'
这是我的脚本,我只想重塑第2列中的数据

import pandas as pd

df = pd.read_csv("test.csv", header=None, usecols=[1])

start = 0
for i in range(0, len(df.index)):
    if (i + 1)%10 == 0:
        result = df.iloc[start:i+1].reshape(2,5)
        start = i + 1
        print result
这是CSV

1,52.1
2,32.2
3,44.6
3,99.1
5,12.3
3,43.2
7,79.4
8,45.5
9,56.3
0,15.4
1,35.7
2,23.7
3,66.7
4,33.8
1,12.9
7,34.8
1,21.6
3,43.7
6,44.2
9,55.8
输出应该是这样的

[[  52.1   32.2   44.6   99.1  12.3]
 [  43.2   79.4   45.5   56.3   15.4]]
[[ 35.7  23.7  66.7  33.8  12.9]
 [ 34.8  21.6  43.7  44.2  55.8]]

有什么想法吗?谢谢

熊猫。dataframe
没有内置的
重塑
方法,但您可以使用
.values
访问基础numpy数组对象并对其调用
重塑

start = 0
for i in range(0, len(df.index)):
    if (i + 1)%10 == 0:
        result = df.iloc[start:i+1].values.reshape(2,5)
        start = i + 1
        print result

#[[ 52.1  32.2  44.6  99.1  12.3]
# [ 43.2  79.4  45.5  56.3  15.4]]
#[[ 35.7  23.7  66.7  33.8  12.9]
# [ 34.8  21.6  43.7  44.2  55.8]]

谢谢你的帮助。成功了!在此之前,我不知道
.values
,看起来您正在查看堆叠数据,因此您可能需要查看pandas的pivot方法。它适用于您的数据,但由于索引中有太多重复值,因此无法提供您想要的解决方案。左侧不是索引。它实际上是第一列的数据。@Psidom的答案就是我想要做的。顺便说一句,谢谢你的建议