![](/img/trans.png)
[英]How to replace all value in all columns in a Pandas dataframe with condition
[英]Pandas Dataframe - Replace all cell value subject to regex condition
我正在解決一個問題,其中列中幾乎沒有重復“.”的值。 ,例如-"....." 或"...." 。
所以我想使用.loc
函數將所有這些值替換為np.NaN
。 我想使用正則表達式函數來識別至少有一次"."
重復的單元格值"."
.
所以我在 Python 中使用了以下代碼 -
energy.loc[bool(re.match('.+', energy['Energy Supply'])),'Energy Supply']=np.NaN
請幫忙
您需要如下轉義點,因為點代表任何字符,加號是一個或多個,試一試:)
re.match('\\.+', energy['Energy Supply']))
你可以使用str.contains來檢查一個點,然后轉義它以匹配它。
您不需要+
量詞,因為它表示 1 或更多。 所以匹配一個點就足夠了。
import pandas as pd
import numpy as np
data = [
"test",
"test.",
"..."
]
energy = pd.DataFrame(data, columns=["Energy Supply"])
energy.loc[energy['Energy Supply'].str.contains(r'\.'), 'Energy Supply'] = np.NaN
print(energy)
輸出
Energy Supply
0 test
1 NaN
2 NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.