[英]compare two columns and keep difference between strings
在將 pandas 從 0.25.1 升級到 1.1.3 之前,我能夠從這個數據框中剝離字符串:
+---+------------------+------------------+
| | strip_me | pattern |
+---+------------------+------------------+
| 0 | string part 0 | string |
+---+------------------+------------------+
| 1 | string part 1 | part |
+---+------------------+------------------+
進入這個:
+---+------------------+------------------+
| | strip_me | pattern |
+---+------------------+------------------+
| 0 | part 0 | string |
+---+------------------+------------------+
| 1 | string 1 | part |
+---+------------------+------------------+
使用這樣的操作:
df['strip_me'] = df['strip_me'].replace(''+df.pattern,'',regex=True)
但是自從更新后,我的 jupyter notebook 返回了這個錯誤:
ValueError: Series.replace cannot use dict-like to_replace and non-None value
我錯過了什么? 通過 stackoverflow 和 ggl 進行徹底搜索還沒有提供答案。 我什至嘗試過 RTF-pandas-M。 你會采取什么方法來理解和解決 ValueError? 我在 Anaconda 中有兩種用於調試的環境,一種使用舊熊貓,一種使用升級后的熊貓。 由於堆棧內的依賴性,降級不是一種選擇。
我很感激任何幫助我找到解決方案的幫助。
我相信系列參數被視為字典,索引是鍵。 字典選項現在僅適用於 DataFrame。 對於系列,一個字典to_replace
手段別的東西( k:v
手段替換值k
與價值v
)。
快速修復:將您的df['strip_me']
變成一個數據df['strip_me']
:
df['strip_me'] = (df[['strip_me']].T.replace(''+df.pattern,'',regex=True)
.loc['strip_me']
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.