[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)!