我有一个csv文件,其时间序列的结构为:col1: date
col2: value
。 csv文件的日期是从1月1日到4月30日。然后我有了第二个csv文件,区别是日期是2月1日到5月31日。第二列中从2月1日到4月30日的值是在第一个和第二个文件中相同。第三个csv文件(3月1日至6月30日),第四个等的相同问题:相同的超分配结构。我想读取这些csv文件,但仅保留从1月1日到12月31日的唯一日期,而无需重复输入值。有没有使用Pandas数据框执行此操作的快速方法?
答案 0 :(得分:1)
一种选择是使用pandas pd.concat()合并文件,然后尝试:
df = pd.concat([file1,file2,file3])
df.drop_duplicates()
答案 1 :(得分:1)
如果没有有关您数据的更多信息,我可能会做这样的事情:
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'])
这假设您重复的日期确实是重复的,并且通过删除这些行不会丢失任何信息。否则,我会考虑将日期转换为DatetimeIndex
,并使用适当的汇总方法对数据进行重采样。