在python中设置日期列

在python中设置日期列,python,pandas,Python,Pandas,目前,我有一个如下所示的表: 我试图给年栏中的每个月一个年值(例如,2011年9月=9日,2011年12月=12日,2012年3月=3日等)。我完全不知道如何做到这一点,因为我刚刚接触熊猫。有人对如何使用pandas进行管理有什么建议吗 首先,当你提问时,请不要包括数据帧的图像,而是包括可复制的数据。看一看如何写出一个好问题 对于您的问题,首先,请查看表的来源。例如,它是否在Excel中,您可以在那里解决问题吗 如果确实需要使用pandas解决问题,以下是一种方法: 首先是一些样本数据,年份和

目前,我有一个如下所示的表:


我试图给年栏中的每个月一个年值(例如,2011年9月=9日,2011年12月=12日,2012年3月=3日等)。我完全不知道如何做到这一点,因为我刚刚接触熊猫。有人对如何使用pandas进行管理有什么建议吗

首先,当你提问时,请不要包括数据帧的图像,而是包括可复制的数据。看一看如何写出一个好问题

对于您的问题,首先,请查看表的来源。例如,它是否在Excel中,您可以在那里解决问题吗

如果确实需要使用
pandas
解决问题,以下是一种方法:

首先是一些样本数据,年份和月份混合在同一列中

import pandas as pd
import numpy as np

data = pd.DataFrame({
    'key': ['2017', 'November', 'December', '2018', 'January']
})
第一步是将年数的实例提取到新列中,然后“向前填充”以向前广播这些值。一行:

data['years'] = pd.Series([i if i.isnumeric() else np.nan for i in data['key']]).fillna(method = 'ffill')
现在,删除年数的行。在您的数据中,似乎没有关联的数据

data = data[~data['key'].str.isnumeric()]
给我们:

        key years
1  November  2017
2  December  2017
4   January  2018
设置(可复制示例) 能行

m = pd.Series([str(x) if type(x)==int else np.nan for x in df.index])
df.index = m.ffill().astype(str) + ' ' + df.index.astype(str)

df.loc[~df.isnull().all(1),:]

                col1    col2
2011 September  2.0     20.0
2011 December   3.0     30.0
2012 March      5.0     50.0
2012 June       6.0     60.0
2012 April      7.0     70.0

这非常有效,非常感谢!对问题格式表示歉意,请下次注意:)
m = pd.Series([str(x) if type(x)==int else np.nan for x in df.index])
df.index = m.ffill().astype(str) + ' ' + df.index.astype(str)

df.loc[~df.isnull().all(1),:]

                col1    col2
2011 September  2.0     20.0
2011 December   3.0     30.0
2012 March      5.0     50.0
2012 June       6.0     60.0
2012 April      7.0     70.0