从Excel中的列中提取数字-Python

问题描述 投票:0回答:1

请就我的问题提出建议。我想从名为“birth_date”的列中提取年份数字(如所附屏幕截图所示)。例如:1850-09-20。我想提取“1850”数字并将其放入新列中。谁能告诉我该怎么做吗?

nobel_prize_data.csv

我从下面的代码开始,但给出了错误(小新手)。尝试了一些帮助注释,但没有帮助:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.dt.html

import pandas as pd
df_data =pd.read_csv('nobel_prize_data.csv')
df_data['birth_date'] = pd.to_datetime(df_data['birth_date'])

错误: (https://i.sstatic.net/0kpTxTHC.png)

python pandas
1个回答
0
投票

您可以通过拆分字符串来从列中提取详细信息

import pandas as pd

data1 = {
  "Dates": ["1850-09-20", "1850-09-21", "1851-09-20"],
}

df1 = pd.DataFrame(data1)
pd.DataFrame(df1.Dates.str.split('-').tolist(),columns=["Year","Month","Day"])

输出:-

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.