猿问

pandas DataFrame 中多列的按列字符串计数

我有如下数据框:


Name            Marks       Place               Points

John-->Hile     50          Germany-->Poland    1

Rog-->Oliver    60-->70     Australia-->US      2

Harry           80          UK                  3

Faye-->George   90          Poland              4

我想要一个如下所示的结果,它找到具有“-->”列的值计数并将其转置并得到如下数据框的结果:


Column Count

Name   3

Marks  1

Place  1

这个 df 是 eg.This datframe 是动态的并且可以在每次运行中变化,就像在第二次运行中我们可能有名称,标记,地点或名称,标记或其他任何东西,所以代码应该是动态的可以在任何 df 上运行。


牛魔王的故事
浏览 102回答 1
1回答

守候你守候我

您可以选择对象列并按列执行计数和求和:df.select_dtypes(object).apply(lambda x: x.str.contains('-->')).sum()Name     3Marks    1Place    2dtype: int64另一个奇怪但有趣的方法applymap:(df.select_dtypes(object)   .applymap(lambda x: '-->' in x if isinstance(x, str) else False)   .sum())Name     3Marks    1Place    2dtype: int64
随时随地看视频慕课网APP

相关分类

Python
我要回答