Python 如何在dataframe中为列添加子字符串

Python 如何在dataframe中为列添加子字符串,python,numpy,dataframe,Python,Numpy,Dataframe,我在数据帧YYYY和MM中有两列。我想像YYYYMM一样连接。但问题是2019年3月变成20193年,2019年10月变成201910年。我无法根据这种输出进行排序。我想所有月份都应该有两位数,比如3月份应该是03,4月份应该是04 如何正确连接它们 df['YYYY']=df['Order_Date'].dt.year.astype(str) df['MM']=df['Order_Date'].dt.month.astype(str) df['YM'] = df.YYYY + df.MM #(

我在数据帧YYYY和MM中有两列。我想像YYYYMM一样连接。但问题是2019年3月变成20193年,2019年10月变成201910年。我无法根据这种输出进行排序。我想所有月份都应该有两位数,比如3月份应该是03,4月份应该是04

如何正确连接它们

df['YYYY']=df['Order_Date'].dt.year.astype(str)
df['MM']=df['Order_Date'].dt.month.astype(str)
df['YM'] = df.YYYY + df.MM #(this does not solve problem)
预计201903 201904 201910

实际的 20193 20194 201910使用:

您的解决方案应与以下各项配合使用:

df = pd.DataFrame({'Order_Date':pd.date_range('2019-01-01', periods=5 ,freq='m')})

df['YM'] = df['Order_Date'].dt.strftime('%Y%m')
print (df)
  Order_Date      YM
0 2019-01-31  201901
1 2019-02-28  201902
2 2019-03-31  201903
3 2019-04-30  201904
4 2019-05-31  201905
df['YM'] = (df['Order_Date'].dt.year.astype(str) + 
            df['Order_Date'].dt.month.astype(str).str.zfill(2))
print (df)
  Order_Date      YM
0 2019-01-31  201901
1 2019-02-28  201902
2 2019-03-31  201903
3 2019-04-30  201904
4 2019-05-31  201905