使用datafram中的部分名称创建一个新列

2024-04-25 05:19:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有五个数据集,我在其中添加了一个“年”列,如下所示:

newyork2014['Year'] = 2014
newyork2015['Year'] = 2015
newyork2016['Year'] = 2016
newyork2017['Year'] = 2017
newyork2018['Year'] = 2018

然而,我想知道是否有一个更为python的方式来做这件事,也许有一个函数?不过,我不想将实际的数据帧更改为字符串,但我想“stringify”数据帧的名称。我是这么想的:

def get_year(df):
    df['Year'] = last four digits of name of df
    return df

Tags: of数据函数字符串名称dfdef方式
1条回答
网友
1楼 · 发布于 2024-04-25 05:19:52

您可能需要在创建数据帧时进行一些调整,需要分配一个name

newyork2014.name='newyork2014'

def get_year(df):
    df['Year'] = df.name[-4:]
    return df
get_year(newyork2014)
Out[42]: 
           ID  Col1  Col2  New  Year
2018-06-01  A    10   100  0.5  2014
2018-06-02  B     5    25  2.1  2014
2018-06-03  A    25    25  0.6  2014

相关问题 更多 >