python value_counts_python - 使用Series.value_counts时如何在不指定列名的情况下实现Dataframe.value_counts() - 堆栈内存溢出...

DataFrame.apply有2个解决方案,用于按列应用功能,但索引按其交点对齐,因此添加了NaN :

df1 = df.apply(pd.value_counts)

print (df1)

PassengerId Survived Pclass

0 NaN 1.0 NaN

1 1.0 2.0 1.0

2 1.0 NaN NaN

3 1.0 NaN 2.0

df1 = df.apply(pd.Series.value_counts)

print (df1)

PassengerId Survived Pclass

0 NaN 1.0 NaN

1 1.0 2.0 1.0

2 1.0 NaN NaN

3 1.0 NaN 2.0

df1 = df.stack().groupby(level=1).value_counts().rename_axis(('a','b')).reset_index(name='c')

print (df1)

a b c

0 PassengerId 1 1

1 PassengerId 2 1

2 PassengerId 3 1

3 Pclass 3 2

4 Pclass 1 1

5 Survived 1 2

6 Survived 0 1

df1 = (df.apply(pd.Series.value_counts)

.stack()

.astype(int)

.rename_axis(('a','b'))

.reset_index(name='c')

print (df1)

a b c

0 0 Survived 1

1 1 PassengerId 1

2 1 Survived 2

3 1 Pclass 1

4 2 PassengerId 1

5 3 PassengerId 1

6 3 Pclass 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值