擅长:python、mysql、java
<p>使用<code>df.melt</code>可能更直接:</p>
<pre><code>import pandas as pd
df = pd.DataFrame({'Year': {0: 1910, 1: 1910, 2: 1911},
'Month': {0:1, 1:1, 2:2},
'Day 1': {0: 1, 1: 3, 2: 5},
'Day 2': {0: 2, 1: 4, 2: 6}})
print(df)
day_columns = [i for i in df.columns if 'Day' in i]
df = pd.melt(df,id_vars=['Year','Month'],value_vars=day_columns,var_name='Day',value_name='Rain')
df['Day'] = df['Day'].str.replace('Day ','')
df['Date'] = pd.to_datetime(df[['Year', 'Month', 'Day']])
print(df)
</code></pre>