📅  最后修改于: 2023-12-03 15:10:48.982000             🧑  作者: Mango
在 Pandas 中,我们可以根据已有的列来添加新的列。这种操作非常有用,因为我们可以根据条件对数据进行转换、筛选或者其他操作。
apply
函数我们可以使用 apply
函数来根据某些条件添加新列。例如,我们可以将一列数据进行转换,然后根据条件添加新的列。以下是一个示例:
import pandas as pd
# 创建数据表
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6]})
# 添加新列
df['C'] = df['A'].apply(lambda x: x * 2 if x > 3 else x * 3)
# 输出结果
print(df)
输出:
A B C
0 1 2 3
1 2 3 6
2 3 4 9
3 4 5 8
4 5 6 10
以上代码中,我们使用了 apply
函数来根据条件添加了新列 C
。在这个例子中,如果 A
的值大于 3,那么就将 A
的值乘以 2 赋值给 C
;否则将 A
的值乘以 3 赋值给 C
。
where
函数我们也可以使用 where
函数来根据条件添加新列。以下是一个示例:
import pandas as pd
# 创建数据表
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6]})
# 添加新列
df['C'] = df['B'].where(df['A'] > 3, df['A'])
# 输出结果
print(df)
输出:
A B C
0 1 2 1
1 2 3 2
2 3 4 3
3 4 5 5
4 5 6 6
在以上代码中,我们使用了 where
函数来根据条件添加了新列 C
。在这个例子中,如果 A
的值大于 3,那么就将 B
的值赋给 C
;否则将 A
的值赋值给 C
。
numpy
包最后,我们还可以使用 numpy
包来根据条件添加新列。以下是一个示例:
import pandas as pd
import numpy as np
# 创建数据表
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6]})
# 添加新列
df['C'] = np.where(df['A'] > 3, df['A'] * 2, df['A'] * 3)
# 输出结果
print(df)
输出:
A B C
0 1 2 3
1 2 3 6
2 3 4 9
3 4 5 8
4 5 6 10
在以上代码中,我们使用了 numpy
包的 where
函数来根据条件添加了新列 C
。与方法一类似,如果 A
的值大于 3,那么就将 A
的值乘以 2 赋值给 C
;否则将 A
的值乘以 3 赋值给 C
。