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