,可以通过以下步骤实现:
下面是一个示例代码,演示如何使用表示现有列的条件的CSV字符串值创建新的DataFrame列:
import pandas as pd
# 假设有一个包含'name'和'age'两列的DataFrame
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]})
# 假设条件CSV字符串值为"name == 'Bob'"
condition_csv = "name == 'Bob'"
# 解析条件CSV字符串值为条件表达式
condition = pd.eval(condition_csv)
# 创建布尔Series,表示每行是否满足条件
is_condition_satisfied = df.apply(lambda row: condition(row), axis=1)
# 选择满足条件的行,并提取需要的列
filtered_df = df.loc[is_condition_satisfied, ['name', 'age']]
# 将提取的列添加为新的DataFrame列
df = df.assign(filtered_age=filtered_df['age'])
# 打印结果
print(df)
在上面的示例中,我们假设条件CSV字符串值为"name == 'Bob'",表示选择'name'列等于'Bob'的行。最后,我们将满足条件的行的'age'列添加为新的列'filtered_age'。
领取专属 10元无门槛券
手把手带您无忧上云