我有兩個用Pandas模塊在Python中加入的.csv文件。一列是格式爲「dd.mm.yyyy」的日期。在Python/Pandas中定義日期格式
現在我只想從中提取月份(作爲2位數的整數和前導零)以備後用。
我到目前爲止完成了這項工作,但我不得不作弊。 Python認爲我得到的字符串是DAY。我不喜歡半熟的東西,所以我想問問社區我怎樣才能明確地告訴Python哪一部分日期是月份,以便它可以返回給我?
這是我到目前爲止有:
import pandas
def saison(input):
if input == "04" or input == "05" or input == "06" or input == "07" or input == "08" or input == "09":
return "Sommer"
else:
return "Winter"
df_1 = pandas.read_csv("a.csv", sep=';', names=["DWD_ID", "Datum"], header=0)
df_2 = pandas.read_csv("b.csv", sep=';', names=[VEG", "DWD_ID"], header=0)
df_joined = pandas.merge(df_1, df_2, on="DWD_ID")
df_joined["Datum"] = pandas.to_datetime(df_joined["Datum"])
df_joined["Saison"] = saison(df_joined["Datum"].apply(lambda x: x.strftime('%d')))
如果我使用
x.strftime('%m')
而是返回我的一天。
'dayfirst = True'也可以工作,但'format'會更快,當出現問題時會失敗,而不是默默地做出您可能會不同意的選擇。 – Goyo
這樣做的工作!謝謝! – Khaled
@Khaled,我看到你沒有接受任何你以前的問題,包括這個問題的答案;-)如果它解決了你的問題,你應該接受他們(通過點擊複選標記)。這表明今後任何人都會通過這個頁面來解決這個問題。 –