我喜欢建立计数工具。
我以前在excel =COUNTIF($L$2:$L$3850,"AAA")中使用COUNTIF函数。但是,我不确定巨蟒熊猫也有类似的功能。
这是我的数据
# 2015 2016 2017
# 0 AAA AA AA
# 1 AA AA A
# 2 AA A A我想像这样数数这个数据:
# 2015 2016 2017
# AAA 1 0 0
# AA 2 2 1
# A 0 1 2 我如何启动代码?有小费吗?
提前谢谢。
发布于 2018-03-06 22:02:05
应用value_counts
df.apply(pd.value_counts).fillna(0).astype(int)
Out[203]:
2015 2016 2017
A 0 1 2
AA 2 2 1
AAA 1 0 0发布于 2018-03-06 22:00:39
使用cross_tab
df.stack().pipe(lambda s: pd.crosstab(s, s.index.get_level_values(1)))
col_0 2015 2016 2017
row_0
A 0 1 2
AA 2 2 1
AAA 1 0 0用get_dummies
pd.get_dummies(df.values.ravel()).T.dot(
pd.get_dummies(df.columns.repeat(len(df)))
)
2015 2016 2017
A 0 1 2
AA 2 2 1
AAA 1 0 0https://stackoverflow.com/questions/49140675
复制相似问题