簡體   English   中英

如何從 Pandas 向子數據框添加新列

[英]How to add a new column to a sub-dataframe from pandas

我開始使用熊貓,所以這可能是一個非常明顯的問題,但我已經為此苦苦掙扎了一段時間,但沒有找到解決方案。

考慮這個數據框:

import pandas_datareader as pdr
apple = pdr.DataReader('AAPL', data_source='yahoo', 
                      start=datetime.datetime(2013, 1, 1), 
                      end=datetime.datetime(2020, 1, 1))

現在,我可以簡單地向這個數據框添加一個新列:

apple['new_column'] = np.arange(apple.shape[0])

但是,如果我使用iloc提取子數據框並嘗試向子數據框添加新列:

apple_2 = apple.iloc[1:5,:]
apple_2['test2'] = np.arange(4)

我收到錯誤消息:

<stdin>:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

我做錯了什么,我應該如何在熊貓中做到這一點? 該錯誤建議使用.loc但我不知道如何使用它來添加新列。

你可以做:

apple_2 = apple.loc[:, 'High':'Close']

這將為您提供“高”和“關閉”(不關閉)之間的所有列。 但是還有其他方法可以對數據幀進行列切片。 你一個檢查這個問題

編輯:

apple_2 = apple.loc[:, 'High':'Close']
#add a new column to apple_2
apple_2['new_column'] = np.arange(apple_2.shape[0]) 

暫無
暫無

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

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