python - 如何迭代 Pandas 数据框并创建新列

标签 python loops pandas conditional-statements multiple-columns

我有一个包含 2 列的 Pandas 数据框。我想遍历它的行并基于第 2 列中的字符串我想在新创建的第 3 列中添加一个字符串。我试过:

for i in df.index:
    if df.ix[i]['Column2']==variable1:
        df['Column3'] = variable2
    elif df.ix[i]['Column2']==variable3:
        df['Column3'] = variable4

print(df)

但是生成的数据框在第 3 列中只有 Variable2。

还有什么办法可以做到这一点吗?

最佳答案

你也可以试试这个(如果你想保留你使用的 for 循环):

new_column = []

for i in df.index:
    if df.ix[i]['Column2']==variable1:
        new_column.append(variable2)
    elif df.ix[i]['Column2']==variable3:
        new_column.append(variable4)
    else : #if both conditions not verified
        new_column.append(other_variable)

df['Column3'] = new_column

关于python - 如何迭代 Pandas 数据框并创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873995/

相关文章:

java - 如果循环在关闭对话框后不会执行(第一次使用java)Java/Android

c# - IEnumerable.Any 是否比带有中断的 for 循环更快?

python - Pandas 按位比较在使用多个条件时抛出异常

python - 在没有脚本文件的情况下将命令行参数传递给 python 解释器

python - 您可以为一个模型注册多个模型管理员吗?备择方案?

r - 使用 2 个数据框计算和绘制预测并在数据框中存储方法

python - 同一索引的多个列

python - Pandas 数据框合并行以删除 NaN

python - 使用原始 SQL 且无参数执行安全 SQL SELECT 语句

python - 将装饰器列表应用于可调用对象?