0
我有一個文件,並希望計數幾個名字。問題在於其中一個名字,我有不止一個名字!我能做些什麼來統計他們作爲一個名字而不是不同的名字? 例如: LR = lrr = LRr = lrs他們都是一樣的東西,但是當我想對它們進行計數時,它們會假設爲不同的名稱。在python中計算不同的名字
謝謝
我有一個文件,並希望計數幾個名字。問題在於其中一個名字,我有不止一個名字!我能做些什麼來統計他們作爲一個名字而不是不同的名字? 例如: LR = lrr = LRr = lrs他們都是一樣的東西,但是當我想對它們進行計數時,它們會假設爲不同的名稱。在python中計算不同的名字
謝謝
這並不容易。解決辦法是簡化 - 首先read_csv
,然後將所有字母轉換爲lower
,然後將replace
一個或多個s
從字符串結尾轉換爲空字符串。然後刪除重複 - 有點修改此solution(只替換爲一個字母)。 Last value_counts
:
所以如果有些話需要以s
結尾還有替換。
df = pd.read_csv('file.csv')
#sample DataFrame
df = pd.DataFrame({'names': ['LR','lrr','LRr','lrrs', 'lrss', 'lrsss']})
print (df)
names
0 LR
1 lrr
2 LRr
3 lrrs
4 lrss
5 lrsss
print (df.names.str.lower().str.replace('s{1,}$','').str.replace(r'(.)\1+', r'\1'))
0 lr
1 lr
2 lr
3 lr
4 lr
5 lr
Name: names, dtype: object
print (df.names.str.lower()
.str.replace('s{1,}$','')
.str.replace(r'(.)\1+', r'\1')
.value_counts())
lr 6
Name: names, dtype: int64
請閱讀[問]並提供[mcve]。 – MYGz