簡體   English   中英

pandas .replace 刪除第一個值但不添加第二個

[英]pandas .replace removes first value but doesn't add second

我試圖用一個年份替換 .csv 列中的數據:'1(1789-1790)':'1789'

我首先閱讀了 .csv:

df = pd.read_csv('congress1.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'], header = 0)

然后我對 column='Congress' 中的數據運行 .replace 並為其提供新字符串:

df['Congress'] = df['Congress'].replace('1(1789-1790)', '1789', inplace=True)

但是,當我打印數據時,該列顯示“無”。

當您使用inplace=Truereplace方法返回None (然后您重新分配給它)並就地修改對象。

演示:

>>> s = pd.Series([1,2,3])
>>> s
>>> 
0    1
1    2
2    3
dtype: int64
>>> 
>>> res = s.replace(1, 2, inplace=True)
>>> res is None
>>> True
>>> s
>>> 
0    2
1    2
2    3
dtype: int64

s已就地修改, resNone

您可以簡單地省略inplace=True部分或不重新分配給df['Congress']

暫無
暫無

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

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