微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

写入功能以将列添加到数据框

如何解决写入功能以将列添加到数据框

嗨,我想编写一个函数,在下面的数据框中添加两列:

ID             NUMBER      OBJECT
1345471886     SIZE-43     GHJ  
1481654311     SIZE-48     IJF   
8620787660     SIZE-67     EFH 

这是我的代码

def add_columns(res):
    
    h = res.assign(Column_1='Value_1',Column_2='Value_2')
    return h
print(h)

我收到NameError:名称'h'未定义

我的预期输出是:


ID             NUMBER      OBJECT  Column_1    Column_2
1345471886     SIZE-43     GHJ     Value_1     Value_2
1481654311     SIZE-48     IJF     Value_1     Value_2
8620787660     SIZE-67     EFH     Value_1     Value_2

可以帮忙吗?非常感谢!!

解决方法

灵感来自:Add column with constant value to pandas dataframe

代码

from io import StringIO

def add_column(df,name,value):
    '''
        Adds a single column to DataFrame
    '''
    df[name] = pd.Series([value for x in range(len(df.index))],index=df.index)
    
    return df

用法

s = '''ID             NUMBER      OBJECT
1345471886     SIZE-43     GHJ
1481654311     SIZE-48     IJF
8620787660     SIZE-67     EFH '''

# Create DataFrame
df = df =pd.read_csv(StringIO(s),delim_whitespace=True) 

# Use function above to add 2 columns
add_column(df,"Column_1","Value_1")
add_column(df,"Column_2","Value_2")

print(df)

输出

          ID   NUMBER OBJECT Column_1 Column_2
0  1345471886  SIZE-43    GHJ  Value_1  Value_2
1  1481654311  SIZE-48    IJF  Value_1  Value_2
2  8620787660  SIZE-67    EFH  Value_1  Value_2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。