簡體   English   中英

Pandas 用 nan 替換所有列值

[英]Pandas replacing all column values with nan

我有一個 pandas dataframe 包含由 3 個 object 值填充的列:“true”、“false”和“---”

我想用 0 替換“真”值,用 1 替換“假”值,所以我寫了以下內容

df['True/False'] = df['True/False'].str.replace('False' '1')
df['True/False'] = df['True/False'].str.replace('True', '0')

所以,我希望輸入['False','True','False','False','False','---']返回[1,0,1,1,1,'---']當我print(df['True/False'])

但相反,我得到:

["NaN","NaN","NaN","NaN","NaN","NaN"]

一點幫助?

而不是df.replace ,您應該使用Series.map因為它要快得多:

創建要替換的值的dict

In [3590]: d = {'True': 0, 'False': 1}

考慮df

In [3592]: df = pd.DataFrame(['False','True','False','False','False','---'], columns=['A'])

In [3593]: df
Out[3593]: 
       A
0  False
1   True
2  False
3  False
4  False
5    ---

In [3597]: df.A = df.A.map(d).fillna(df.A)

In [3598]: df
Out[3598]: 
     A
0    1
1    0
2    1
3    1
4    1
5  ---

暫無
暫無

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

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