我在Pandas中有这个DataFrame:
Age InterventionType PrimaryPurpose
0 [Adult, Senior] Device Treatment
1 [Child, Adult, Senior] Drug Basic Science
2 [Adult, Senior] Drug Treatment
3 [Adult, Senior] NaN NaN
4 [Adult, Senior] Other NaN
并希望以InterventionType为中心,以便获得:
Drug Adult 2
Senior 2
Child 1
Device Adult 1
Senior 1
Other Adult 1
Senior 1
我如何做到这一点?另外,我的DataFrame有列表是不标准的吗?如果是这样,那么“取消列表”列表的好习惯是什么?
答案 0 :(得分:0)
假设您的DataFrame名为df
,则可以执行以下操作,
pd.DataFrame(
df["Age"].values.tolist(),
index=df["InterventionType"]
).stack().reset_index().drop("level_1", axis=1).groupby(["InterventionType", 0]).size()
将返回以下内容,
InterventionType 0
Device Adult 1
Senior 1
Drug Adult 2
Child 1
Senior 2
Other Adult 1
Senior 1
dtype: int64
这是具有MultiIndex的熊猫系列。上面代码中的索引名称是“ InterventionType”和0,但是可以轻松更改。