【发布时间】:2016-08-28 16:32:49
【问题描述】:
我对 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,因此感谢您的帮助
【问题讨论】:
-
如果您能提供错误堆栈会很有帮助...