[英]Remove non-numeric values in column using Python
我已閱讀有關類似示例的各種其他問題; 然而,我認為我的例子足夠不同,值得提出一個新問題。
我有以下格式的數據框:
'Bob, Dole, 00001' '0.4'
'John, Smith, 00002' '0.2'
我想刪除名稱並將 ID 保留在第一列中:
'00001' '0.4'
'00002' '0.2'
我是 Python 的新手,我偶然發現了這個有效的代碼片段。 首先,我將數據幀Dat
轉換為 numpy A = Dat.to_numpy()
。 然后我可以使用以下方法刪除名稱部分:
import re
print(re.sub("[^0-9]", "", A[1,0]))
我只是不知道如何將它應用於整個數據幀(不使用循環)。 有沒有更簡單的方法來做到這一點? 或者我應該只使用 for 循環?
聽起來您可以使用 apply - 創建一個函數,例如在一行中執行您希望它執行的操作,然后使用以下語法:
df.apply(func)
希望這有幫助,如果沒有讓我知道。
您可以使用.extract()
將 ID 從列中拉出:
import pandas as pd
df = pd.DataFrame({
'x': ['Bob, Dole, 00001', 'John, Smith, 00002'],
'y': ['0.4', '0.2']})
df['x'] = df['x'].str.extract(r'\w+, (\d+)')
print(df)
x y
0 00001 0.4
1 00002 0.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.