Python函数定义在两个列表中

时间:2016-04-17 08:11:16

标签: python pandas

Year   Month   Year_month
2009    2       2009/2
2009    3       2009/3
2007    4       2007/3
2006   10       2006/10

Year_month
200902
200903
200704
200610

我想将年份和月份列合并为Year_month格式(即替换原始列)。我怎么能这样做?以下方法似乎不适用于Python。感谢。

def f(x, y)
    return x*100+y

for i in range(0,filename.shape[0]):
    filename['Year_month'][i] = f(filename['year'][i] ,filename['month'][i])

2 个答案:

答案 0 :(得分:1)

我认为您可以使用zfill

df['Year_month'] = df.Year.astype(str)  + df.Month.astype(str).str.zfill(2)
print df
   Year  Month Year_month
0  2009      2     200902
1  2009      3     200903
2  2007      4     200704
3  2006     10     200610

答案 1 :(得分:1)

df = df.read_clipboard()

Year    Month   Year_month
0   2009    2   2009/2
1   2009    3   2009/3
2   2007    4   2007/3
3   2006    10  2006/10

df['Year_month'] = df.apply(lambda row: str(row.Year)+str(row.Month).zfill(2), axis=1)


Year    Month   Year_month
0   2009    2   200902
1   2009    3   200903
2   2007    4   200704
3   2006    10  200610