[英]How to replace words with different case in PANDAS dataframe
我有一個非常大的數據框,它包含一個特定的列“城市”,其中有多個城市重復,但在不同的情況下,例如 -
***City***
Gurgaon
GURGAON
gurgaon
Chennai
CHENNAI
Banglore
Hydrabad
BANGLORE
HYDRABAD
.
有沒有辦法用一個名稱替換所有具有不同大小寫的相同城市。
每列總共有 3k 行,所以手動是不可能的。
編輯 -
DF 的城市列還包含城市,如
'Gurgaon'
'GURGAON'
'gurgaon ' #there is a white space at the end
我想要一些東西,以便它們都更改為相同的名稱,並且分隔符也被刪除。 所以輸出是→
'Gurgaon'
'Gurgaon'
'Gurgaon' #no white space at the end
謝謝
首先,將城市更改為具有相同的格式:
df.city=df.city.apply(lambda x: x.capitalize())
然后,刪除重復項:
df.drop_duplicates()
(我假設其余的列是相等的)
以下是如何使用str.strip()
刪除尾隨空格,然后使用str.title()
:
import pandas as pd
df = pd.DataFrame({'City':["Gurgaon",
"GURGAON",
"gurgaon",
"Chennai",
"CHENNAI",
"Banglore",
"Hydrabad",
"BANGLORE",
"HYDRABAD"]})
df['City'] = df['City'].str.strip()
df['City'] = df['City'].str.title()
print(df)
輸出:
City
0 Gurgaon
1 Gurgaon
2 Gurgaon
3 Chennai
4 Chennai
5 Banglore
6 Hydrabad
7 Banglore
8 Hydrabad
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.