簡體   English   中英

使用 pandas 刪除非數字字符

[英]Remove non-numeric characters using pandas

我最近陷入了 Python 以自動化一些重復性任務。

我的腳本使用 API 和 pandas 收集兩組數據,將它們合並到一個數據文件中,並在其中進行一系列檢查,然后根據設定的標准處理數據。 我花了整整 8 個小時來解決這個問題並得到一些工作,但我在最后一個障礙上絆倒了

我正在嘗試使用簡單的 pivot 表來總結檢查結果,並且需要將存儲在 df 列之一(commissionAmount)中的值相加。 問題是存儲在此列中的值如下所示

{'金額':97.0,'貨幣':'英鎊'}

我需要它只包含 97.0 但我無法弄清楚。

任何幫助,將不勝感激。

假設您的數字格式始終相同(小數點前 2 位,小數點后 1 位):

df['Col1'].str.extract(r'(\d{2}\.\d)')

根據給出的示例給出正確的 output

df3 = pd.DataFrame()
df3['Col1'] = ["{'amount': 97.0, 'currency': 'GBP'}"]
df3['Col1'].str.extract(r'(\d{2}\.\d)')
0  97.0

給定df

                                  col1
0  {'amount': 97.0, 'currency': 'GBP'}

我們可以通過執行以下操作來提取amount

df.col1 = df.col1.str.get('amount')
print(df)

Output:

   col1
0  97.0

我實際上爭取將這個以前隱藏的功能添加到文檔中,現在是~ pandas.Series.str.get :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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