python - pandas:如何在`groupby.x.apply`之后一一访问分组元素?
问题描述
我有一个这样的数据框
import pandas as pd
df = pd.DataFrame({
"f":["sum", "min", "max"],
"t":[2, 2, 3]
})
所以我总结了df
df1 = df.groupby("t").f.apply(lambda x:[x])
产生
t
2 [[sum, min]]
3 [[max]]
Name: f, dtype: object
但我如何引用数据列[[sum,min]], [[max]]
?
我试过
for t in df1.index:
print(df1[t].f)
我期待着打印出来
[[sum,min]]
[[max]]
但我只是得到一个错误:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
AttributeError: 'list' object has no attribute 'f'
如何引用我apply
在每个组中创建的列?
解决方案
你可以试试:
for f in df.groupby('t').f.agg(list):
print(f)
#out
['sum', 'min']
['max']
推荐阅读
- spring - Hystrix中使用ThreadPool的优势
- python - 如何在python中访问json值
- javascript - 如何在反应中保存文件输入值
- python - Keras - 没有 ImageDataGenerator 的单像素分类
- java - Java枚举垃圾回收和枚举变量差异
- ruby-on-rails - Excon::Error::RequestEntityTooLarge: Expected(200) <=> Actual(413 Request Entity Too Large) : Fog google storage ruby
- webpack - 如何使用 webpack 运行 @font-face?
- android - 从控制台发送消息时未调用 Firebase OnMessageReceived()
- android - Android Studio 布局在真实设备上的变化
- php - Laravel php artisan config:cache 和 AWS S3 访问错误