使用numpy数组调用列索引
问题描述:
我想使用groupby开始分析一个相当大的数据集,并且我的许多调用需要使用范围方法并使用列标题的整数。使用numpy数组调用列索引
我试图获得大量的这些数据来检查,我使用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。
我很抱歉,如果这是多余的,但我在这里找不到类似的情况。
答
试试这个:
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'>
辉煌。而我走了... – double0darbo
你也可以upvote,也。 – Merlin