我有分类数据(A、B等),其中同一字段中可以存在多个匹配项,例如A,B。我想将数据分成额外的行,只是为了计算每个值的实例数。
A
B
A,B
df = pd.DataFrame({"Values" : ["A", "B", "C", "A,B"]}) df Values 0 A 1 B 2 C 3 A,B
现在:
df["Values"].value_counts() B 1 A,B 1 A 1 C 1 Name: Values, dtype: int64
我的理想功能应该是这样的:
df["Values"].value_counts(split = ",") A 2 B 2 C 1 Name: Values, dtype: int64
使用Series.str.split然后explode()
Series.str.split
explode()
print( df['Values'].str.split(',').explode().value_counts() )
印刷:
A 2 B 2 C 1 Name: Values, dtype: int64
编辑:
df = pd.DataFrame({"Values" : ["A", "B", "C", "A,B"]}) print( df['Values'].str.split(',').explode().value_counts() )