簡體   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