Pandas教程-Pandas DataFrame.assign()
assign() 方法还负责将新列添加到 DataFrame 中。
如果重新分配一个现有列,则其值将被覆盖。
签名
DataFrame.assign(**kwargs)
参数
- kwargs: 关键字是列名。如果值是可调用的,则这些关键字将被分配给新列。如果值不可调用,则它们将被简单地分配。
返回值
它返回一个新的 DataFrame,其中包含新列的添加。
示例 1:
import pandas as pd
# Create an empty dataframe
info = pd.DataFrame()
# Create a column
info['ID'] = [101, 102, 103]
# View the dataframe
info
# Assign a new column to dataframe called 'age'
info.assign(Name = ['Smith', 'Parker', 'John'])
输出
ID Name
0 101 Smith
1 102 Parker
2 103 John
示例 2:
import pandas as pd
# Create a dataframe
info = pd.DataFrame({'temp_c': [17.0, 25.0]},
# Create an index that consist some values
index=['Canada', 'Australia'])
# View the dataframe
info
info.assign(temp_f=lambda x: x.temp_c * 7 / 2 + 24)
info.assign(temp_f=lambda x: x['temp_c'] * 6 / 2 + 21,
temp_k=lambda x: (x['temp_f'] + 342.27) * 6 / 4)
输出
temp_c temp_f temp_k
Canada 17.0 72.0 621.405
Australia 25.0 96.0 657.405