使用numpy数组

时间:2016-07-25 21:08:05

标签: python-3.x numpy pandas dataframe group-by

我想使用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。

如果这是多余的,我道歉,但我在这里找不到类似的案例。

1 个答案:

答案 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'>