簡體   English   中英

如何使用 Python Pandas 將每行中列的前四個元素和 Append 提取到新創建的列?

[英]How Can I Take The First Four Elements Of A Column In Each Row and Append it To A Newly Created Column Using Python Pandas?

我正在嘗試一個項目來獲得每年的平均股價,但目前,我遇到了一個問題。 我有一個包含兩列的 CSV 文件:日期(YYYY-MM-DD)和高。 基本上,我想創建一個名為“Year”的第三列,對於每一行,我只想從日期列中獲取年份並將其添加到“Year”列中。

這是我的初始表:

在此處輸入圖像描述

這是我想要的 output 表:

在此處輸入圖像描述

注意:我只知道如何添加一列,但我不確定如何將每行的日期和 append 索引到每行的“年份”列。 例如,對於日期為“1980-12-12”的行,我希望年份列只有“1980”,對於日期為“1980-12-18”的行,我希望年份列只有'1980'等

這是我目前的代碼:

import pandas as pd
appleStock = pd.read_csv("Apple_stock_history.csv")
for i in appleStock["Date"]:
  appleStock["Year"] = i[0:4]
print(appleStock.head())

我的 output 的代碼是:

在此處輸入圖像描述

我發現我的代碼非常不一致; 基本上原始 CSV 文件中有更多行...最后一行的日期為“2022-01-03”(這可能解釋了為什么我每次都在我的年份列中得到它。在我的代碼的第 4 行,當我將其更改為appleStock["Year"] = i[0:]時,它給了我整個日期(2022-01-03)。

如果您的df['date']str格式,如下所示:

df = pd.DataFrame({
    'Date' : ['1980-12-12','1981-12-12'],
    'High' : [0.1, 0.2]
    })

print(df['Date'][0],type(df['Date'][0]))
1980-12-12 <class 'str'>

你可以試試這個:

df['year'] = df['Date'].str[0:4]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM