<p>我有另一个解决方案,在连接所有数据帧后,使用groupby合并重复列</p>
<pre><code>import pandas as pd
import numpy as np
df1 = pd.DataFrame({'GMT_date': ["01-01-2000", "02-01-2000", "03-01-2000", "04-01-2000", "05-01-2000"],
'LOWI_Precipitation_24_Hour_(mm)': [2.2, 0, 0.2, 0.4, 0]})
df2 = pd.DataFrame({'GMT_date': ["06-01-2000", "07-01-2000", "08-01-2000", "09-01-2000", "10-01-2000"],
'LOWI_Precipitation_24_Hour_(mm)': [0.1, 0.1, 3.1, 4.0, 0]})
df3 = pd.DataFrame({'GMT_date': ["06-01-2000", "07-01-2000", "08-01-2000", "09-01-2000", "10-01-2000"],
'TGPY_Precipitation_24_Hour_(mm)': [0.6, 0.7, 5.1, 1.0, 2.0]})
df_list = [df1, df2, df3]
merged_df = pd.DataFrame()
for df in df_list:
df = df.set_index('GMT_date')
merged_df = pd.concat([merged_df, df], axis=1)
merged_df = merged_df.groupby(level=0, axis=1).agg(np.max)
print(merged_df)
</code></pre>
<p>输出:</p>
^{pr2}$
<hr/>
<p>你可以用</p>
<pre><code>merged_df = merged_df.groupby(level=0, axis=1).agg(np.max if np.nan else sum) # if there is `Nan` then it will take `np.max` else take sum of values
</code></pre>