[英]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=True
, replace
方法返回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
已就地修改, res
為None
!
您可以簡單地省略inplace=True
部分或不重新分配給df['Congress']
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.