私はこのようになりますデータフレームを持っている:Python:1つの列に繰り返し値が表示されたデータフレームを再編成します。
Instrument Date Total Return
0 KYG2615B1014 2017-11-29T00:00:00Z 0.000000
1 KYG2615B1014 2017-11-28T00:00:00Z -10.679612
2 KYG2615B1014 2017-11-27T00:00:00Z -8.035714
3 JP3843250006 2017-11-29T00:00:00Z 0.348086
4 JP3843250006 2017-11-28T00:00:00Z 0.349301
5 JP3843250006 2017-11-27T00:00:00Z 0.200000
はデータフレームが、私はそれがこのように見えるようにしたいと考える:
11/27/2017 11/28/2017 11/29/2017
KYG2615B1014 -8.035714 -10.679612 0.000000
JP3843250006 0.200000 0.349301 0.348086
基本的に私が欲しいもののように、すべての日付を配置することです新しい列とその列の中に、対応する値を配置します。私は、 "フィルタリング"や "重複を削除"とは言いませんが、これははるかに再配置のようなものです。
両方のデータフレームが私によって生成されましたが、このデータを取得するためにはAPIを呼び出す必要があります。最初のデータフレームでは、1つのコールのみを行い、すべてのデータをプルします。一方、他のデータフレームでは、それぞれのデータを1つのコールにします。だから1stは2ndよりもはるかに効率的だと思っていましたが、それは正しい呼び出しだと思っていましたが、私は必要なものにデータフレームを再編成するこの部分に固執しています。
私は空のデータフレームを作成し、「Instrument」列の繰り返し要素のインデックスを選択し、それらのインデックスを使用して「Total Return」列から要素を取得し、その要素からその要素を配置することを考えましたそれに応じてデータを処理する方法はわかりません。
誰かが私を助けることができれば、私は知ってうれしいです。
ないこの時点で便利な場合は必ず、私は第二版では(それを移入する前に)データフレームを生成する方法この:
import pandas as pd
import datetime
#Getting a list of dates
start=datetime.date(2017,11,27)
end=datetime.date.today() - datetime.timedelta(days=1)
row_dates=[x.strftime('%m/%d/%Y') for x in pd.bdate_range(start,end).tolist()]
#getting identifiers to be used on Eikon
csv_data=pd.read_csv('171128.csv', header=None)
identifiers=csv_data[0].tolist()
df=pd.DataFrame(index=identifiers, columns=row_dates)
https://stackoverflow.com/questions/47152691/how-to-pivot-a-dataframe – Wen
@Wen感謝を!私は将来の参考のためにこれを保存します。より深い検索をしないと悪いです。 –