[英]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.