python中pandas格式_用Python/Pandas定义日期格式

首先,您似乎在datetime中交换了月份和日期,因此需要将参数format='%Y-%d-%m'添加到^{}(Python's strftime directives):df = pd.DataFrame({'Date': ['2016-24-02']})

print (df)

Date

0 2016-24-02

print (pd.to_datetime(df.Date, format='%Y-%d-%m'))

0 2016-02-24

Name: Date, dtype: datetime64[ns]

转换后,您可以使用:

另一个提取^{}的解决方案,然后转换为string,最后加上^{}的零填充:print (df.Date.dt.month.astype(str).str.zfill(2))

样品:start = pd.to_datetime('2015-02-24')

rng = pd.date_range(start, periods=10, freq='m')

df = pd.DataFrame({'Date': rng})

print (df)

Date

0 2015-02-28

1 2015-03-31

2 2015-04-30

3 2015-05-31

4 2015-06-30

5 2015-07-31

6 2015-08-31

7 2015-09-30

8 2015-10-31

9 2015-11-30

print (df.Date.dt.strftime('%m'))

0 02

1 03

2 04

3 05

4 06

5 07

6 08

7 09

8 10

9 11

Name: Date, dtype: objectprint (df.Date.dt.month.astype(str).str.zfill(2))

0 02

1 03

2 04

3 05

4 06

5 07

6 08

7 09

8 10

9 11

Name: Date, dtype: object

最后,您可以将^{}与条件一起使用^{}:saison = ["04","05","06","07","08","09"]

df['Saison'] = np.where(df.Date.dt.strftime('%m').isin(saison), 'Sommer','Winter')

print (df)

Date Saison

0 2015-02-28 Winter

1 2015-03-31 Winter

2 2015-04-30 Sommer

3 2015-05-31 Sommer

4 2015-06-30 Sommer

5 2015-07-31 Sommer

6 2015-08-31 Sommer

7 2015-09-30 Sommer

8 2015-10-31 Winter

9 2015-11-30 Winter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值