Python 删除时间序列中的重复项
我有一个带有时间序列的csv文件,其结构为:Python 删除时间序列中的重复项,python,Python,我有一个带有时间序列的csv文件,其结构为:col1:datecol2:value。csv文件的日期为,比如说,1月1日到4月30日。然后我有第二个csv文件,不同的是日期是2月1日到5月31日。从2月1日到4月30日的第二列中的值在第一个和第二个文件中是相同的。第三个csv文件(3月1日至6月30日)和第四个csv文件等也存在同样的问题:相同的过度加密结构。我想读取这些csv文件,但只保留从1月1日到12月31日的唯一日期,不重复值。有没有一种使用Pandas数据帧的快速方法?一个选项是使用P
col1:date
col2:value
。csv文件的日期为,比如说,1月1日到4月30日。然后我有第二个csv文件,不同的是日期是2月1日到5月31日。从2月1日到4月30日的第二列中的值在第一个和第二个文件中是相同的。第三个csv文件(3月1日至6月30日)和第四个csv文件等也存在同样的问题:相同的过度加密结构。我想读取这些csv文件,但只保留从1月1日到12月31日的唯一日期,不重复值。有没有一种使用Pandas数据帧的快速方法?一个选项是使用Pandas pd.concat()对文件进行concat,然后尝试:
df = pd.concat([file1,file2,file3])
df.drop_duplicates()
一个选项是使用pandas pd.concat()对文件进行加密,然后重试:
df = pd.concat([file1,file2,file3])
df.drop_duplicates()
如果没有关于您数据的更多信息,我可能会这样做:
df1, df2, df2 = load_your_data() # pd.DataFrame objects
import pandas as pd
concat = pd.concat([df1, df2, df2], axis=0)
dedup = concat.drop_duplicates(subset=['col1'])
这假设重复的日期确实是重复的,并且删除这些行不会丢失任何信息。否则,我会考虑将日期转换为<代码> DATEMEMEDATION<代码>,并用适当的聚合方法对数据进行重采样。 < P>在您的数据没有更多信息的情况下,我可能会做类似这样的事情:
df1, df2, df2 = load_your_data() # pd.DataFrame objects
import pandas as pd
concat = pd.concat([df1, df2, df2], axis=0)
dedup = concat.drop_duplicates(subset=['col1'])
这假设重复的日期确实是重复的,并且删除这些行不会丢失任何信息。否则,我会考虑将日期转换为<代码> DATEMEMEDATION<代码>,并用适当的聚合方法重采样数据。您可以添加CSV文件和预期输出的示例吗?您可以添加CSV文件和预期输出的样本吗?