Python 在同一行中有多个匹配项的值_counts()
我有分类数据(Python 在同一行中有多个匹配项的值_counts(),python,pandas,frequency-table,Python,Pandas,Frequency Table,我有分类数据(A,B,等等),其中同一字段中可以存在多个匹配项,例如A,B。为了计算每个值的实例数,我想将数据分成其他行 df=pd.DataFrame({“值”:[“A”、“B”、“C”、“A、B”]}) df 价值观 0 A 1b 2 C 3 A、B 目前: df[“值”]。值_计数() B 1 A、 B 1 A 1 C1 名称:值,数据类型:int64 我的理想函数是这样工作的: df[“值”]。值_计数(split=“,”) A 2 B 2 C1 名称:值,数据类型:int64 使用
A
,B
,等等),其中同一字段中可以存在多个匹配项,例如A,B
。为了计算每个值的实例数,我想将数据分成其他行
df=pd.DataFrame({“值”:[“A”、“B”、“C”、“A、B”]})
df
价值观
0 A
1b
2 C
3 A、B
目前:
df[“值”]。值_计数()
B 1
A、 B 1
A 1
C1
名称:值,数据类型:int64
我的理想函数是这样工作的:
df[“值”]。值_计数(split=“,”)
A 2
B 2
C1
名称:值,数据类型:int64
使用,然后
印刷品:
A 2
B 2
C 1
Name: Values, dtype: int64
编辑: 使用然后 印刷品:
A 2
B 2
C 1
Name: Values, dtype: int64
编辑:
在
split
和value\u计数之后尝试使用stack
df.Values.str.split(',',expand=True).stack().value_counts()
A 2
B 2
C 1
dtype: int64
在split
和value\u计数之后尝试使用stack
df.Values.str.split(',',expand=True).stack().value_counts()
A 2
B 2
C 1
dtype: int64
如果您不需要担心计算同一行上的重复值+sum
df['Values'].str.get_dummies(',').sum()
A 2
B 2
C 1
dtype: int64
如果您不需要担心计算同一行上的重复值+sum
df['Values'].str.get_dummies(',').sum()
A 2
B 2
C 1
dtype: int64
AttributeError:“Series”对象没有属性“explode”。@FrancisSmart我在编辑中发布了完整的代码。还是有错误吗?您使用的是什么版本的pandas?似乎仍然得到相同的错误版本0.24.2。我会更新。@FrancisSmart是的,explode()
来自版本0.25-您使用的是熊猫的古老版本,可以升级吗?AttributeError:“Series”对象没有属性“explode”。@FrancisSmart我在编辑中发布了完整的代码。还是有错误吗?您使用的是什么版本的pandas?似乎仍然得到相同的错误版本0.24.2。我会更新。@FrancisSmart是的,explode()
是从0.25版开始的-您使用的是熊猫的古老版本,可以升级吗?