[英]How can i convert column into days in csv having string values in years , months , weeks using Python Pandas?
我已經嘗試使用 python 如下:
import pandas as pd
df = pd.read_csv("master_list.csv", usecols = ['Duration'])
#month manipulation starts
df[df['Duration'].fillna('').str.contains('Months') & df['Duration'].fillna('').str.len().gt(0)]
df["Duration"] = df["Duration"].str.replace("\sMonths", "")
df['Duration'] = pd.to_numeric(df['Duration'], errors='coerce').fillna(0).astype(float)
df['Duration'] *= 30.436875
#month manipulation end
df[df['Duration'].fillna('').str.contains('Weeks') & df['Duration'].fillna('').str.len().gt(0)]
df["Duration"] = df["Duration"].str.replace("\sWeeks", "")
#df['Duration'] *= 30.436875
print(df)
Sample_Data = ["7 Months","1 Year","8 Weeks","3 Days"]
Expected Output = ["210 Days","365 Days","56 Days","3 Days"]
模塊dateparser可以解析帶有weeks
、 years
、 months
、 days
等的文本。
import dateparser
import datetime
sample_data = ["7 Months","1 Year","8 Weeks","3 Days"]
today = datetime.datetime.now()
for item in sample_data:
result = dateparser.parse(item)
diff = today.date() - result.date()
print(item, '|', diff.days)
結果:
7 Months | 212
1 Year | 365
8 Weeks | 56
3 Days | 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.