擅长:python、mysql、java
<p><strong>这只回答您的第一个问题</p>
<p>一种解决方案是使用<code>operator.attrgetter</code>提取<code>pd.Timestamp</code>对象的属性。你知道吗</p>
<p>此方法的好处是可以轻松地扩展/更改所需的属性。此外,逻辑不是特定于对象类型的。你知道吗</p>
<pre><code>from operator import attrgetter
import pandas as pd
df = pd.DataFrame({'date': ['1/21/2010', '5/5/2015', '4/30/2018']})
df['date'] = pd.to_datetime(df['date'], format='%m/%d/%Y')
attr_list = ['day', 'month', 'year']
attrs = attrgetter(*attr_list)
df[attr_list] = df['date'].apply(attrs).apply(pd.Series)
print(df)
date day month year
0 2010-01-21 21 1 2010
1 2015-05-05 5 5 2015
2 2018-04-30 30 4 2018
</code></pre>