【发布时间】:2020-11-20 23:12:24
【问题描述】:
所以我遇到了这个问题:
我试过了,但它会堆积时间:
df2 = df.groupby(['Time'])
for group, data in df2:
result = data.apply(lambda x: x.value_counts()).T.stack()
print(result)
【问题讨论】:
-
很好,但我有 100 列;我怎样才能在循环中实现它......现在,我有这个工作(忽略“时间”的第一个结果):
df = pd.DataFrame({ 'Time': ['T0', 'T0', 'T1', 'T1'], 'Health': ['Yes', 'Yes', 'No', 'No'], 'Meds': ['Good', 'Bad', 'Good', 'Good'] }) for key, value in df.iteritems(): result = df.groupby(['Time', key]).size().unstack(0).fillna(0) print(result)
标签: python pandas dataframe group-by