0
私はファイルを持っていて、その上にいくつかの名前を数えたいと思っています。問題は名前の1つで、私は複数の名前を持っています!私は1つの名前としてカウントし、異なる名前ではないことを数えるために何ができるのですか? 例: LR = lrr = LRr = lrrsそれらはすべて同じものですが、それらを数えたいときは、別の名前として扱います。Pythonで異なる名前を数える
ありがとうございます
私はファイルを持っていて、その上にいくつかの名前を数えたいと思っています。問題は名前の1つで、私は複数の名前を持っています!私は1つの名前としてカウントし、異なる名前ではないことを数えるために何ができるのですか? 例: LR = lrr = LRr = lrrsそれらはすべて同じものですが、それらを数えたいときは、別の名前として扱います。Pythonで異なる名前を数える
ありがとうございます
これは簡単ではありません。そして、ソリューションは簡略化されます - 最初にread_csv
、すべての文字をlower
に変換してからreplace
s
の文字列の終わりから空の文字列に変換します。重複を取り除いてください。これは少し変更されました。solution(1文字のみに置き換えられました)。最後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
[ask]と[mcve]を入力してください。 – MYGz