<p>问题有两个方面:将csv合并到单个数据帧中,然后按日期排序。</p>
<p>正如John Smith指出的那样,要沿着行合并数据帧,需要使用:</p>
<pre><code>df = pd.concat([df1,df2,df3])
</code></pre>
<p>然后,您需要设置一个索引,并根据该索引对数据帧重新排序。</p>
<pre><code>df.set_index('DateTime', inplace=True)
df.sort_index(inplace=True)
</code></pre>
<p>或按降序排列</p>
<pre><code>df.sort_index(inplace=True,ascending=False)
</code></pre>
<p>(见<a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html" rel="nofollow noreferrer">https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html</a>)</p>
<hr/>
<pre><code>timeindex = pd.date_range('2018/01/01','2018/01/10')
randtimeindex = np.random.permutation(timeindex)
# Create three dataframes
df1 = pd.DataFrame(index=range(3),data=np.random.rand(3,3),
columns=['Actual','Consensus','DateTime'])
df1.DateTime=randtimeindex[:3]
df2 = pd.DataFrame(index=range(3),data=np.random.rand(3,3),
columns=['Actual','Consensus','DateTime'])
df2.DateTime=randtimeindex[3:6]
df3 = pd.DataFrame(index=range(4),data=np.random.rand(4,3),
columns=['Actual','Consensus','DateTime'])
df3.DateTime=randtimeindex[6:]
# Merge them
df4 = pd.concat([df1, df2, df3], axis=0)
# Reindex the merged dataframe, and sort it
df4.set_index('DateTime', inplace=True)
df4.sort_index(inplace=True, ascending=False)
print(df4.head())
</code></pre>