繁体   English   中英

在熊猫数据框中创建新列

[英]Create new column in panda data frame

我对 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})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM