2017-11-01 6 views
0

pd std()からインデックス値を取得しようとしています。 最終的な目的は、インデックスを別のdfに一致させ、対応する値(標準偏差)を挿入することです。pd mean()とstd()関数からインデックス値を取得する

(in): df_std['index'] = df_std.index 

(out): Index([u'AAPL US Equity', u'QQQ US Equity', u'BRABCBACNPR4 BZ Equity'...dtype='object') 

しかし、私は理由種類のdf_stdの「右」にインデックスを追加することはできませんされました:df_stdはDFである一方、df_std.indexシリーズです。私はそれをしようとすると、行ではなく、列の追加されます。

(in): df_std['index'] = df_std.index 

(out): 
BRSTNCLF1R25 Govt             64.0864 
BRITUBACNPR1 BZ Equity            2.67762 
BRSTNCNTB4O9 Govt             48.2419 
BRSTNCLF1R74 Govt             64.901 
PBR US Equity              0.770755 
BRBBASACNOR3 BZ Equity            2.93335 
BRSTNCLF1R82 Govt             65.0979 
index      Index([u'AAPL US Equity', u'QQQ US Equity', u'... 
dtype: object 

私はすでに試したことがタプルにし、データフレームに変換するdf_std.inde。

ありがとうございます!


編集:

私は[ 'bloomberg_ticker'] df_finalとdf_std [ 'インデックス']を一致させるとdf_finalするSTD値を持参しようとしている[ 'STDを']:

(in): print df_final 
(out): 
serie   tipo tp_cnpjfundo valor id  bloomberg_ticker \ 
0 NaN   caixa   NaN  NaN 0      NaN 
1 NaN  titpublicos   NaN  NaN 1  BRSTNCLF1R17 Govt 
2 NaN  titpublicos   NaN  NaN 2  BRSTNCLF1R17 Govt 
3 NaN  titpublicos   NaN  NaN 3  BRSTNCLF1R25 Govt 

(列「ID」の後に削除されます)

+0

値、シリーズマットchは、系列が割り当てられたときにデフォルトで実行されます。 – Dark

答えて

1

使用.reset_index()何を持っていることは

すなわちデータフレームである場合に割り当てるより
df_std = df_std.reset_index() 

例:

df = pd.DataFrame([0,1,2,3], index=['a','b','c','d']) 
df = df.reset_index() 

出力:場合

 
    index 0 
0  a 0 
1  b 1 
2  c 2 
3  d 3 

何を持っていることはdf_stdは、あなたがして

持っているシリーズである場合reset_indexすなわち、その後のデータフレームにそれを変換し、 seriesです
df_std = df_std.to_frame().reset_index() 

私は何をしようとしているのは、v特定の列に、一連のaluesあなたが使用できるように

df = pd.DataFrame({'col':['a','b','c','d','e'],'vales':[5,1,2,4,5]}) 
s = pd.Series([1,2,3],index=['a','b','c']) 

df['new'] = df['col'].map(s) 

出力:シリーズのインデックスが存在int型である場合は

あなたのケースで
 
    col vales new 
0 a  5 1.0 
1 b  1 2.0 
2 c  2 3.0 
3 d  4 NaN 
4 e  5 NaN 

あなたが条件のチェックのためにdf_final['index'].map(df_std)

を使用することができ、彼データフレームのインデックス列.isin ie

df['col'].isin(s.index) # Returns the boolen mask 

df[df['col'].isin(s.index)] #Returns the dataframe based matched index 
+1

彼はseriseを持っていると思いますが、おそらく 'to_frame'を追加します – Wen

+0

ありがとう@Wen多分彼が持っているものはシリーズです。 – Dark

+0

私は自分自身を謝罪しなければなりません:df_stdのインデックスを「直接」だけでなく、別のデータフレームの特定の列と一致させようとしています。 これへのコードはsmtでなければなりません。 (df_std ["index"]、na = False)] [0] ' ' df_std [df_final ["index"]。 –

関連する問題