1
我前幾天正在處理這個問題,但是我找不到答案。希望您能夠幫助我。從一個數據框中創建一個以一列值爲參考的數組
這是我的數據框:
Date Attribute Quantity
0 2017-12-14 large -39
0 2017-12-15 large -80
1 2017-12-15 large -30
2 2017-12-14 short -15
2 2017-12-15 short -100
4 2017-12-15 short -10
1 2017-12-15 short 20
3 2017-12-15 short 60
3 2017-12-15 big 80
5 2017-12-15 big 104
我要做些什麼?我想爲每個Attribute
系統計算XIRR。爲此,我需要Date
和Quantity
(作爲數組),但是基於第二列中列出的每個Attribute
項目。例如,給出large
,我想爲large
提取Dates
和quantities
(作爲數組)。
鑑於此,我認爲我的最佳選擇是基於Attibute
列創建特定數組,然後執行上述功能(請告訴我,如果考慮另一種解決此問題的方法)。於是,我產生一個陣列df1= df[['Date','Quantity']].as_matrix()
其產生
[[Timestamp('2017-12-14 00:00:00') -39]
[Timestamp('2017-12-15 00:00:00') -80]
[Timestamp('2017-12-15 00:00:00') -30]
[Timestamp('2017-12-14 00:00:00') -15]
[Timestamp('2017-12-15 00:00:00') -100]
[Timestamp('2017-12-15 00:00:00') -10]
[Timestamp('2017-12-15 00:00:00') -20]
[Timestamp('2017-12-15 00:00:00') 60]
[Timestamp('2017-12-15 00:00:00') -80]
[Timestamp('2017-12-15 00:00:00') 104]]
正如你可以看到這個陣列包括所有的屬性,但我想根據Attribute
列各attibute要達到這樣的For/each
功能。我怎樣才能做到這一點? 這是我最終目標的最佳方法嗎?
任何幫助將不勝感激。
PD:我應該提一下,我想使用屬性作爲一個組的作品(因爲它需要日期和數量,所有的一起)。它的工作原理類似於gruopby
。
感謝
您可以將功能行作爲系列。 'df.apply(some_function,axis = 1)' –
不,我認爲這不是一個好主意。我不同意發佈的答案,'apply'是你應該看的最後一個解決方案。請告訴我你想做什麼。你很可能需要一個groupby +的東西(我不知道是什麼,因爲你沒有告訴我你想做什麼......現在你知道爲什麼解釋你的問題是重要的)。 –