亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法從 pandas 數據框中刪除空格

無法從 pandas 數據框中刪除空格

偶然的你 2023-10-25 10:36:30
有這個數據:                              region gdp_per_capita0                      Coasts of USA         71 5461          USA: New York, New Jersey         81 6152                    USA: California         74 2053                   USA: New England         74 000想要得到這個:                              region gdp_per_capita0                      Coasts of USA          715461          USA: New York, New Jersey          816152                    USA: California          742053                   USA: New England          74000嘗試使用df.columns = df.columns.str.replace(' ', ''),但沒有成功
查看完整描述

4 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

只是這樣應該做:


df['gdp_per_capita'] = df['gdp_per_capita'].astype(str).str.replace('\s+', '').replace('nan', np.nan)

df['gdp_per_capita'] = pd.to_numeric(df['gdp_per_capita'])

print(df)


                      region gdp_per_capita

0              Coasts of USA          71546

1  USA: New York, New Jersey          81615

2            USA: California          74205

3           USA: New England          74000


查看完整回答
反對 回復 2023-10-25
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

看起來您想使用數字而不是字符串。

因此,替換' '''使用pd.to_numeric似乎是一種簡單而可靠的方法。

讓我建議另一種可能好也可能不好的方法(這取決于您的數據集)。

如果數據集中的數千個數據由空格 ( ' ') 分隔,您可以將df其讀取為

df = pd.read_csv(file, thousands = ' ')

并且您的所有列都74 109將被讀取為74109整數dtype或浮點數。


查看完整回答
反對 回復 2023-10-25
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

import re
df['gdp_per_capita'] = df['gdp_per_capita'].apply(lambda x: re.sub("[^0-9]", "", str(x))).astype(int)



查看完整回答
反對 回復 2023-10-25
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

我不太確定它是否有效,但請嘗試以下操作:

  1. 修剪 pandas 中列的前導空格 – lstrip()

  2. 修剪 pandas 中列的尾隨空格 – rstrip()

  3. 修剪 pandas 中列的前導和尾隨空格 – strip()

  4. 去除 pandas 中列的所有空白。

讓我知道它是否有效:)


查看完整回答
反對 回復 2023-10-25
  • 4 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號