![](/img/trans.png)
[英]Python: Replace the special character by NULL in each column in pandas dataframe
[英]How to replace specific character in pandas column with null?
我在數據集中有一列關於分類公司規模的列,目前看起來像這樣,其中“-”連字符當前表示缺失的數據:
我想用空值更改缺失值中的“-”,以便我可以分析缺失的數據。 但是,當我使用帶有 None 值的 pd 替換工具(請參閱以下代碼)時,它似乎也會生成任何真正的條目,因為它們還包含連字符(例如 51-200)。
df['Company Size'].replace({'-': None},inplace =True, regex= True)
如何僅替換單獨的連字符並保持其他條目不變?
您不需要使用 regex=True。
df['Company Size'].replace({'-': None},inplace =True)
你可以這樣做
import numpy as np
import pandas as pd
df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
'B': [5, 6, 7, 8, 9],
'C': ['a', '-', 'c--', 'd', 'e']})
df['C'] = df['C'].replace('-', np.nan)
df = df.where((pd.notnull(df)), None)
# can also use this -> df['C'] = df['C'].where((pd.notnull(df)), None)
print(df)
輸出:
A B C
0 0 5 a
1 1 6 None
2 2 7 c--
3 3 8 d
4 4 9 e
另一個例子:
df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
'B': ['5-5', '-', 7, 8, 9],
'C': ['a', 'b', 'c--', 'd', 'e']})
df['B'] = df['B'].replace('-', np.nan)
df = df.where((pd.notnull(df)), None)
print(df)
輸出:
A B C
0 0 5-5 a
1 1 None b
2 2 7 c--
3 3 8 d
4 4 9 e
你也可以這樣做:
df['column_name'] = df['column_name'].replace('-','None')
df.replace('-',np.NaN, inplace =True)
這段代碼對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.