![](/img/trans.png)
[英]I want to to pick the first 4 words of each row of a column and based on the value assign a new value to another newly created column using python
[英]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.