Python Pandas添加行列数据的方法详解

Elena
Elena
发布时间:2026-10-15 | 2人浏览过
原创

本文详细总结了Python Pandas库中增加行列数据的多种常用方法。内容涵盖使用直接赋值、eval计算、insert函数插入指定列,以及利用loc、iloc、append和concat处理行数据。此外,还介绍了通过apply函数结合自定义逻辑新增衍生列的技巧,适用于数据清洗与特征工程场景。

前言

在Python库的学习过程中,知识点容易遗忘是常见现象。为了便于记录和及时复习,本文旨在分享近期学习Pandas时关于数据添加操作的实用技巧,帮助读者快速掌握核心用法。

创建一个dataframe

1. 增加列数据

向DataFrame中增加新列时,需确保新列的数据长度与原数据保持一致。

若需添加数值相同的列,可直接输入常量值进行赋值。

df['level'] = 1

当插入的数据需要基于源数据进行计算时,使用eval方法通常更为便捷高效。

df.eval('grade_level = grade * level',inplace = True)

利用insert函数可以在指定位置插入列数据,该函数支持多个参数,操作更加灵活。

df.insert(loc, column, value, allow_duplicates=False)

增加列数据的方法众多,此处仅记录个人实践中较为常用的几种方式。

2. 增加行数据

常用的行数据添加或修改方法包括loc、iloc和append。首先介绍loc方法,其语法为df.loc[index名称] = [对应的数据]。需注意,若指定的index名称在原表中已存在,则会修改原有数据;若不存在,则会在末尾添加新行,且新行的index名称由输入值决定。

另一种方法是通过df.iloc[index位置] = [对应数据]进行修改。此方法主要用于修改现有数据,而非真正增加一行新数据。

使用append()函数可以添加一行新数据,调用时建议设置ignore_index=True,否则可能引发报错。

append()函数常用于将另一个DataFrame的数据追加到原数据末尾,这在爬虫场景中尤为常见:将每一页抓取的数据暂存至临时DataFrame,再将其插入总DataFrame后部,最终合并得到完整数据,且效率较高。

此外,concat、merge等方法也能实现类似的数据合并效果,后续有机会将继续深入探讨。

补充:pandas根据现有列新添加一列

在Pandas中,经常需要根据现有列生成新列。例如,根据分数确定等级范围,下面演示具体实现方式。

def getlevel(score):
    if score < 60:
        return "bad"
    elif score < 80:
        return "mid"
    else:
        return "good"


def test():
    data = {'name': ['lili', 'lucy', 'tracy', 'tony', 'mike'],
            'score': [85, 61, 75, 49, 90]
            }
    df = pd.DataFrame(data=data)
    # 两种方式都可以
    # df['level'] = df.apply(lambda x: getlevel(x['score']), axis=1)
    df['level'] = df.apply(lambda x: getlevel(x.score), axis=1)

    print(df)

上面代码运行结果

name score level 0 lili 85 good 1 lucy 61 mid 2 tracy 75 mid 3 tony 49 bad 4 mike 90 good

实现上述功能主要依赖DataFrame中的apply方法。

上述代码为DataFrame新增了一列名为level,其值由score列计算得出:分数小于60为bad,60至80之间为mid,80以上为good。其中axis=1表示沿行方向应用函数,保持原有DataFrame的行结构不变,列维度随之扩展。

总结

本文介绍了Python Pandas中多种添加行列数据的方法,包括列的插入与计算、行的追加与合并,以及基于现有列生成新列的技巧。更多关于Pandas添加行列数据的内容,欢迎查阅本站往期文章或继续阅读后续系列,感谢大家的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表