在Python中,使用Pandas库处理数据框(DataFrame)时,增加数据列有几种常见的方法:
直接赋值
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = [7, 8, 9] 添加新列C
使用`assign`方法
df = df.assign(C=[7, 8, 9]) 添加新列C
使用`loc`或`iloc`进行条件赋值
df.loc[df['A'] > 2, 'C'] = [10, 11, 12] 在A列大于2的行中添加新列C
使用`apply`方法
def get_wendu_type(row):
if row['High'] > 33:
return '高温'
elif row['Low'] < 10:
return '低温'
else:
return '常温'
df['wendu_type'] = df.apply(get_wendu_type, axis=1) 添加新列wendu_type
使用`concat`方法
new_data = pd.DataFrame({'C': [7, 8, 9]})
df = pd.concat([df, new_data], axis=1) 在原DataFrame后追加新列C
使用`update`方法
df1 = pd.DataFrame({'Key': ['a', 'b', 'c'], 'Employee': [1, 2, 3]})
df2 = pd.DataFrame({'Key': ['a', 'b', 'd'], 'Staff': [4, 5, 6]})
df1.set_index('Key', inplace=True)
df2.set_index('Key', inplace=True)
df1.Employee.update(df2.Staff) 更新df1中的Employee列