gpt4 book ai didi

python - 在 panda 数据框中创建新列

转载 作者:太空宇宙 更新时间:2023-11-03 16:38:43 25 4
gpt4 key购买 nike

我对 python 非常陌生,一直在搜索 google 和 stackoverflow 来解决这个问题,我确信这只是一个语法问题。

我有一个包含几列的数据框。

import pandas as pd
df = pd.read_csv("C:/path/file.csv")

我的 csv 有 5 列和 ~ 100k 行我只想要第 5 列前 2 位数字的子字符串。

我已经尝试过:

df.assign(new = lambda x: x.column5[0:2],)

这将创建新字段并使用第 5 列中的完整值填充前两行,并为其余部分提供 NaN。

这些尝试给了我语法错误:

df['new'] = df['column5'].str[0:2]
df.map(lambda df['column5']: [:2])

我只是不知道如何使用通过 pandas 读取的表中现有列的前两位数字来创建新列。

如果这是 SAS,我几个小时前就已经完成了,但我正在尝试使用 Python,因此感谢您的帮助

最佳答案

我猜你的 column5 列是 int*/float* dtype,所以尝试先将其转换为字符串:

df['new'] = df['column5'].astype(str).str[:2]

您可以在读取 CSV 文件时显式指定列类型:

df = pd.read_csv('file_name.csv', ..., dtype={'column5': object})

关于python - 在 panda 数据框中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37007365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com