簡體   English   中英

在python pandas df中將月份數字轉換為名稱

[英]Convert month number to name in python pandas df

我在熊貓數據框中有一個日期列,我需要將月份數字轉換為名稱:

Date
01-01-2018, 
02-02-2018,
03-04-2018.

01-JAN-2018,
02-Feb-2018,
03-April-2018

您可以使用pd.Series.dt.strftime

Python 的 strftime 指令是構建datetime字符串格式的有用資源。

import pandas as pd
from io import StringIO

mystr = StringIO("""Date
01-01-2018 
02-02-2018
03-04-2018""")

# if necessary, read data and convert to datetime
df = pd.read_csv(mystr)
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)

# apply string formatting
df['Date'] = df['Date'].dt.strftime('%d-%b-%Y')

print(df)

          Date
0  01-Jan-2018
1  02-Feb-2018
2  03-Apr-2018

您可以通過將列解析為日期時間,然后在將其轉換回字符串之前修改字符串表示來實現此目的:

from datetime import datetime
import pandas as pd

d = {"date": ["01-01-2018", "02-02-2018", "03-04-2018"]}
df = pd.DataFrame(data=d)

# %M = 01, %b = Jan, "%b".upper() = JAN
df.date = df.date.apply(lambda x: datetime.strptime(x, "%d-%M-%Y"))
df.date = df.date.apply(lambda x: datetime.strftime(x, "%d-%b-%Y").upper())

print(df)

          date
0  01-JAN-2018
1  02-JAN-2018
2  03-JAN-2018

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM