簡體   English   中英

比較兩列並保持字符串之間的差異

[英]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.

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