我有一个包含两列包含字符串的DataFrame,例如:
COL1 --- COL2
恩斯特---吉姆·
彼得·恩斯特---
比尔---为NaN
NaN的---道格·
吉姆---杰克
现在我想在第一列和第二列中创建一个包含唯一字符串列表的新DataFrame,其中包含2个原始列中每个字符串的出现次数,如:
海峡 --- OCCURENCES
恩斯特- 2
彼得·--- 1个
比尔--- 1
吉姆- 2
杰克--- 1
道格- 1
我该如何以最有效的方式做到这一点?谢谢!
首先将原来的两列合并为一列:
In [127]: s = pd.concat([df.col1, df.col2], ignore_index=True)
In [128]: s
Out[128]:
0 Ernst
1 Peter
2 Bill
3 NaN
4 Jim
5 Jim
6 Ernst
7 NaN
8 Doug
9 Jake
dtype: object
Run Code Online (Sandbox Code Playgroud)
然后使用value_counts:
In [129]: s.value_counts()
Out[129]:
Ernst 2
Jim 2
Bill 1
Doug 1
Jake 1
Peter 1
dtype: int64
Run Code Online (Sandbox Code Playgroud)