我正在尝试使用以下代码连接两个数据帧。 df1是df2中索引值的每日更新,这是一个持续的月度数据集。 df3是保存的结果。
我遇到的问题是,当索引值不在df1中时(该特定日期没有值),它将完全从df3中删除。换句话说,如果索引值不在df2中,那么它根本不会出现在df3中。
如何保留df3的原始索引,以便如果索引值不在df1中,它不会删除它?我也无法输入0
值,因为它与数据相关是空的。
import os
import pandas as pd
import glob
def Monthly_aggregation_merge(month, date):
# file to be merged
df1 = pd.read_csv(r'Data\{}\{}\Aggregated\Aggregated_Daily_All.csv'.format(month,date), usecols=['CU', 'Parameters', 'Total/Max/Min'], index_col =[0,1])
df1 = df1.rename(columns = {'Total/Max/Min':date}) # Change column name
# original file that data should be merged with
df2 = pd.read_csv(r'Data\{}\MonthlyData\July2017NEW.csv'.format(month), index_col = [0,1])
df3 = pd.concat([df2, df1], axis=1).reindex(df1.index)
df3.to_csv(r'Data\{}\MonthlyData\July2017NEW.csv'.format(month))
print 'Monthly Merge Done!'