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

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

如何僅從 Pandas 列中的字符串中刪除數字

如何僅從 Pandas 列中的字符串中刪除數字

慕村225694 2022-08-16 18:46:43
我是一名環境地質學家,我只是在學習Python/Pandas。我在Pandas中有一個分析數據的數據幀,類似于下面的示例:我只想從Total_dl中刪除數字,離開檢測限(帶有<的數字)。這將是我正在尋找的最終數據幀:由于該列是字符串,因此我不確定如何解析該列。任何幫助將不勝感激。
查看完整描述

4 回答

?
幕布斯6054654

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

一種方法。不確定這是一個多好的解決方案:


df['Total_dl'] = df['Total_dl'].apply(lambda o: o if '<' in str(o) else np.nan)

使用執行相同操作的函數:


>>> df

   SampleID Total_dl

0    A-1-0'      2.5

1  A-1-0.5'   <0.021

>>> df.dtypes

SampleID    object

Total_dl    object

dtype: object

>>> def foo(o):

...     if '<' in str(o):

...         return o

...     else:

...         return np.nan

...         

>>> df['Total_dl'] = df['Total_dl'].apply(foo)

>>> df

   SampleID Total_dl

0    A-1-0'      NaN

1  A-1-0.5'   <0.021

>>> 


查看完整回答
反對 回復 2022-08-16
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

以下操作應該可以解決問題:


import numpy as np



mask = df.Total_dll < 1.

df.loc[mask, 'Total_dll'] = np.nan

如果類型為 ,您可以嘗試以下操作:Total_dllstring


import numpy as np



df.str.startswith('<')

df.loc[df.Total_dll.str.startswith('<'), np.nan]


查看完整回答
反對 回復 2022-08-16
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

假設你的數據框被調用,那么這將做這個技巧df


import numpy as np

nan_condition = df[~df["Total_dl"].str.contains(">")]

df.loc[nan_condition,"Total_dl"] = np.nan


查看完整回答
反對 回復 2022-08-16
?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

您可以使用此功能

data = data.loc[data[column] > x]


查看完整回答
反對 回復 2022-08-16
  • 4 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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