python - 如何在 pandas 数据框中插入重复的列,并从新列的值中删除最后 3 个数字?

标签 python pandas

我对此非常陌生。我在名为“oldcol”的列中有值。我正在尝试创建一个新的数据框,其中包含 oldcol 和一个新列,其值与 oldcol 中的值相同,只是删除了字符串的最后三位数字。我以为我可以使用 insert 方法,但从文档中意识到我不能仅仅以这种方式引入 oldcol 值。我尝试的代码如下:

### I realize this is not going to work.
df2 = df1.insert(2,
                 column='newcol',
                 value='oldcol')
df2['newcol'] = df2['newcol'] \
    .astype(str).str[:-3] \
        .astype(np.int64)

解决这个问题的最佳方法是什么?

最佳答案

试试这个:

df['new_col'] = df['old_col'].str[:-3]

这应该可以完成工作。让我知道它是否有效。

关于python - 如何在 pandas 数据框中插入重复的列,并从新列的值中删除最后 3 个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61754201/

相关文章:

python - 过滤异常值 - 如何使基于中值的 Hampel 函数更快?

python - 库未加载 : @rpath/libpng16. 16.dylib

Python 请求 : How to PUT a string in body?

python - 无法预测 fastai 的输出

python - Pandas 中的可旋转

python - 如何使用 pip 向互联网访问被阻止的人获取requirements.txt 文件的所有请求?

Python Pandas groupby 多个计数

python - 优雅而高效的方式按原样保留日期值,而不会出现 OOB 错误

python - 使用 Pandas 在日期的两个时间之间进行插值

python - 使用 pandas 包用 python 清理 excel 数据