簡體   English   中英

如何在 PANDAS 數據框中用不同的大小寫替換單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM