我想使用groupby开始分析相当大的数据集,而且我需要多次调用,需要使用范围方法并对列标题使用整数。
我试图将大部分数据用于检查,并且我在字段中使用np.arange。
我使用以下数据框样式:
df = pd.DataFrame({1 : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
2 : ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
3 : np.random.randn(8),
4 : np.random.randn(8)})
使用以下作品:
names = np.arange(1,3)
x=df.groupby([1,2])
但是当我使用时出现以下错误:
names = np.arange(1,3)
x=df.groupby(names)
石斑鱼和轴的长度必须相同
目前尚不清楚为什么一个有效,但另一个无效,特别是因为简单地调用df[names]
会产生我期望的结果。
我有一个1474x480的数组,它使列重命名,但x-y坐标太难了。
这是一个简单的x-y-z扫描,它给出3个值:行索引= x,列索引= y和值= z。数据全部是数字,np.float64。
如果这是多余的,我道歉,但我在这里找不到类似的案例。
答案 0 :(得分:2)
试试这个:
names = np.arange(1,3)
x=df.groupby(names.tolist())
print type([1, 2])
print type(np.arange(1,3))
print type(np.arange(1,3).tolist())
<type 'list'>
<type 'numpy.ndarray'>
<type 'list'>