【发布时间】:2019-08-24 02:49:38
【问题描述】:
我正在 Pandas 中寻找一种高效且优雅的方式来删除 DataFrame 中具有完全相同的值集但在不同列中的“重复”行。
理想情况下,我正在寻找一种矢量化方法来执行此操作,因为我已经可以使用 Pandas pandas.DataFrame.iterrows() 方法识别非常低效的方法。
假设我的 DataFrame 是:
source|target|
----------------
| 1 | 2 |
| 2 | 1 |
| 4 | 3 |
| 2 | 7 |
| 3 | 4 |
我希望它变成:
source|target|
----------------
| 1 | 2 |
| 4 | 3 |
| 2 | 7 |
【问题讨论】:
-
这是重复的,很多问题都在问这个问题。看看stackoverflow.com/questions/51603520/…
-
这确实是重复的。 RafaelC 提供的链接就是您的答案。您的解决方案在这里:
pd.DataFrame(np.sort(df.values, axis=1), columns=df.columns).drop_duplicates() -
非常感谢,抱歉没有发现这个
标签: python python-3.x pandas