gpt4 book ai didi

python - 如何有效地删除python中数据帧或csv文件中的所有重复项?

转载 作者:行者123 更新时间:2023-12-01 10:48:54 27 4
gpt4 key购买 nike

我在 mytest.csv 中包含下表,如下所示:

timestamp   val1    val2    user_id  val3  val4    val5    val6
01/01/2011 1 100 3 5 100 3 5
01/02/2013 20 8 6 12 15 3
01/07/2012 19 57 10 9 6 6
01/11/2014 3100 49 6 12 15 3
21/12/2012 240 30 240 30
01/12/2013 63
01/12/2013 3200 51 63 50

以上是使用以下代码获得的,其中我试图删除所有重复项,但不幸的是仍有一些(基于“时间戳”和“用户 ID”):
import pandas as pd

newnames = ['timestamp', 'val1', 'val2','val3', 'val4','val5', 'val6','user_id']
df = pd.read_csv('mytest.csv', names = newnames, header = False, parse_dates=True, dayfirst=True)
df['timestamp'] = pd.to_datetime(df['timestamp'], dayfirst=True)
df = df.loc[:,['timestamp', 'user_id', 'val1', 'val2','val3', 'val4','val5', 'val6']]
df_clean = df.drop_duplicates().fillna(0)

另外,我想知道如何有效地从数据中删除所有重复项(预处理),以及是否应该在将其读入数据帧之前执行此操作。例如,最后两行被认为是重复的,只有不包含空 val1 (val1 = 3200) 的最后一行应保留在数据帧中。

在此先感谢您的帮助。

最佳答案

如果要根据特定列删除重复项,可以使用 subset cols 中的参数(旧 Pandas 版本:drop_duplicates) :

df_clean = df.drop_duplicates(subset=['timestamp', 'user_id'])

关于python - 如何有效地删除python中数据帧或csv文件中的所有重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22866406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com