我有一个 pandas 数据框:
a b c d
./. 0/1 ./. 0/1
0/1 1/1 0/0 1/1
0/1 1/1 ./. 1/1
我想知道,如何获得每行中“0”和“1”的总数,如下所示:
a b c d C0 C1
./. 0/1 ./. 0/1 2 2
0/1 1/1 0/0 1/1 3 5
0/1 1/1 ./. 1/1 1 5
最佳答案
让我们.stack
要 reshape 的数据框,然后使用 .str.extractall
要将 regex
模式中的所有捕获组提取为列,最后使用 .notna
+ .sum
在 level=0
上计算 0
和 1
的数量:
df[['c0', 'c1']] = df.stack().str.extractall(r'(0)|(1)').notna().sum(level=0)
a b c d c0 c1
0 ./. 0/1 ./. 0/1 2 2
1 0/1 1/1 0/0 1/1 3 5
2 0/1 1/1 ./. 1/1 1 5
关于python - 使用python计算每一行的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65523912/