Pandas 熊猫:使用列数组索引GroupBy对象
在Wes McKinne的Python for Data Analysis一书中,提到 df.groupby('key1')[['data2']] 在语法上类似于 df['data2']].groupby(df['key1']] 但是这两种说法产生的结果是不同的。此外,df.groupby('key1')[['data2']]的结果与df.groupby('key1')Pandas 熊猫:使用列数组索引GroupBy对象,pandas,indexing,pandas-groupby,Pandas,Indexing,Pandas Groupby,在Wes McKinne的Python for Data Analysis一书中,提到 df.groupby('key1')[['data2']] 在语法上类似于 df['data2']].groupby(df['key1']] 但是这两种说法产生的结果是不同的。此外,df.groupby('key1')[['data2']]的结果与df.groupby('key1') 为什么存储在变量a和b中的结果应该是相似的,而这两个变量是相同的,但作者提到的书写方式不同。此外,变量a和c由于a而产
为什么存储在变量a和b中的结果应该是相似的,而这两个变量是相同的,但作者提到的书写方式不同。此外,变量a和c由于a而产生的结果相似的原因,也应与c不同,因为索引不同。我不理解这种行为。对不起,有什么问题吗?@gcoronel99更新了线程。请检查AgSensory,有什么问题?@gcoronel99更新线程。请再查一下
df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'],
'key2' : ['one', 'two', 'one', 'two', 'one'],
'data1' : np.random.randn(5),
'data2' : np.random.randn(5)})
df
key1 key2 data1 data2
0 a one 1.103015 1.142491
1 a two 0.758543 -0.820083
2 b one -1.749065 0.445968
3 b two 0.337383 0.372625
4 a one -0.065351 -0.207071
a = df.groupby('key1')[['data2']]
for key, data in a:
print(key)
print(data)
a
key1 key2 data1 data2
0 a one 1.103015 1.142491
1 a two 0.758543 -0.820083
4 a one -0.065351 -0.207071
b
key1 key2 data1 data2
2 b one -1.749065 0.445968
3 b two 0.337383 0.372625
c = df.groupby('key1')
for key, data in c:
print(key)
print(data)
a
key1 key2 data1 data2
0 a one 1.103015 1.142491
1 a two 0.758543 -0.820083
4 a one -0.065351 -0.207071
b
key1 key2 data1 data2
2 b one -1.749065 0.445968
3 b two 0.337383 0.372625
b = df[['data2']].groupby(df['key1'])
for key, data in b:
print(key)
print(data)
a
data2
0 1.142491
1 -0.820083
4 -0.207071
b
data2
2 0.445968
3 0.372625