我创建了以下 pandas 数据框:
import pandas as pd
ds = {'col1' : ['A','A','B','C','C','D'],
'col2' : ['A','B','C','D','D','A']}
df = pd.DataFrame(data=ds)
数据框如下所示:
print(df)
col1 col2
0 A A
1 A B
2 B C
3 C D
4 C D
5 D A
col1
和col2
中的可能值为A
、B
、C
和D
。
我需要创建 4 个新列,名为:
countA
:计算每行/记录中有多少个A
countB
:计算每行/记录中有多少个B
countC
:计算每行/记录中有多少个C
countD
:计算每行/记录中有多少个D
因此,从上面的示例来看,生成的数据框将如下所示:
有人可以帮助我吗?
也许这对你有用
from numpy import unique
for k in unique(df.values):
df['count'+k] = df.eq(k).sum(axis=1)
这给出了
col1 col2 countA countB countC countD
0 A A 2 0 0 0
1 A B 1 1 0 0
2 B C 0 1 1 0
3 C D 0 0 1 1
4 C D 0 0 1 1
5 D A 1 0 0 1