python - 从 Pandas 的每一行创建一个新列

标签 python pandas dataframe

我正在尝试创建一个新列并使用每一行的值填充它。我有一个专栏“旅程”,新专栏是“起源”。

def getOrigin(journey):
    if " to " in journey:
        return journey.split(" to ")[0]
    else:
        return "No origin"

df['Origin'] = getOrigin(df.Journey)

print(df['Origin'])

如果 df.Journey 是“America to England”,那么我希望 df['Origin'] 是“America”,但 Origin 的每一行都是“No origin”。我该怎么做?

最佳答案

我相信你需要像这样映射它:

df['Origin'] = df.Journey.applymap(getOrigin)

这应该将您的函数应用于 Journey 列中的每个项目

关于python - 从 Pandas 的每一行创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49989724/

相关文章:

python - 在嵌套数组 pymongo 中查找

python - Python 数据框中的滚动和累积标准差

python - 查找两个数据帧的两列之间的额外内容 - 相减

python - argparse:使用强制参数的值设置可选参数

python - 每秒复制最后一个值直到 Python 2.7 中的下一个数据点的函数,分段常量插值

python - 为什么单独执行 softmax 和 crossentropy 与使用 softmax_cross_entropy_with_logits 一起执行它们会产生不同的结果?

python - 将以下 xml 元素转换为 pandas 数据框时出现问题吗?

python - Pandas :如何对子类别中的前 N ​​个观察结果进行子集(和求和)?

python - 对 pandas 中的字符串进行排序

python - 如何过滤没有标题的 pandas 数据框