Python DataFrame: 如何创建新列并逐行插入数据
Python DataFrame: 如何创建新列并逐行插入数据
在使用 Python Pandas 处理数据时,经常需要在 DataFrame 中创建新的列,并将数据逐行插入。本文将介绍几种实现此目标的常用方法,并提供清晰易懂的代码示例。
方法一:使用列表直接赋值
最直接的方法是创建一个包含所需数据的列表,然后将其赋值给新的列名。pythonimport pandas as pd
创建一个空的 DataFramedf = pd.DataFrame()
创建一个新的列并逐行插入数据df['new_column'] = [1, 2, 3, 4, 5]
打印 DataFrameprint(df)
输出:
new_column0 11 22 33 44 5
方法二:使用循环逐行插入
如果数据需要根据特定条件或计算生成,可以使用循环逐行插入数据。pythonimport pandas as pd
创建一个示例 DataFramedf = pd.DataFrame({'A': [10, 20, 30, 40, 50]})
创建一个新的列 'new_column'df['new_column'] = ''
使用循环逐行插入数据for i in range(len(df)): df['new_column'][i] = df['A'][i] * 2
打印 DataFrameprint(df)
输出:
A new_column0 10 201 20 402 30 603 40 804 50 100
方法三:使用 apply 函数
对于更复杂的计算,可以使用 apply 函数将自定义函数应用于每一行。pythonimport pandas as pd
创建一个示例 DataFramedf = pd.DataFrame({'A': [1, 2, 3, 4, 5]})
定义一个函数,用于计算新列的值def calculate_value(row): return row['A'] ** 2 + 1
使用 apply 函数创建新列并应用函数df['new_column'] = df.apply(calculate_value, axis=1)
打印 DataFrameprint(df)
输出:
A new_column0 1 21 2 52 3 103 4 174 5 26
总结
本文介绍了三种在 Python Pandas DataFrame 中创建新列并逐行插入数据的方法。选择哪种方法取决于您的具体需求和数据处理的复杂性。
原文地址: http://www.cveoy.top/t/topic/fq1h 著作权归作者所有。请勿转载和采集!