自学内容网 自学内容网

[pandas] pandas.DataFrame.assign用法示例

pandas.DataFrame.assign 方法是一个非常方便的工具,用于在 DataFrame 中添加新列。以下是一些 assign 方法的常用实例:

实例 1: 直接赋值新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用 assign 添加一个新列 'C',其值为固定值 10
df = df.assign(C=10)
print(df)
   A  B   C
0  1  4  10
1  2  5  10
2  3  6  10

实例 2: 基于其他列计算新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用 assign 添加一个新列 'C',其值为 'A' 列和 'B' 列之和
df = df.assign(C=df['A'] + df['B'])
print(df)
   A  B  C
0  1  4  5
1  2  5  7
2  3  6  9

实例 3: 使用 lambda 函数计算新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用 assign 和 lambda 函数添加一个新列 'C',其值为 'A' 列和 'B' 列之积
df = df.assign(C=lambda x: x['A'] * x['B'])
print(df)
   A  B   C
0  1  4   4
1  2  5  10
2  3  6  18

实例 4: 同时添加多个新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用 assign 同时添加两个新列 'C' 和 'D'
df = df.assign(C=df['A'] * 2, D=df['B'] / 2)
print(df)
   A  B  C    D
0  1  4  2  2.0
1  2  5  4  2.5
2  3  6  6  3.0

实例 5: 结合条件语句添加新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用 assign 和条件语句添加一个新列 'E',如果 'A' 大于 'B',则 'E' 为 True,否则为 False
df = df.assign(E=df['A'] > df['B'])
print(df)
   A  B      E
0  1  4  False
1  2  5  False
2  3  6  False

实例 6: 使用外部变量计算新列

import pandas as pd

# 创建一个简单的 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 定义一个外部变量
value = 2

# 使用 assign 和外部变量添加一个新列 'F',其值为 'A' 列乘以外部变量 value
df = df.assign(F=df['A'] * value)
print(df)
   A  B  F
0  1  4  2
1  2  5  4
2  3  6  6

原文地址:https://blog.csdn.net/HaoZiHuang/article/details/142528454

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!