2016-08-11 8 views
1

私はいくつかのnumpyの配列を転置することによってデータフレームを満たしています:DATAFRAMEはよくしかし満たされているDF、列名が0,1,2 ...、5ですnumpy配列でデータフレーム列を埋め込む方法を教えてください。

for symbol in syms[:5]: 
    price_p = Share(symbol) 
    closes_p = [c['Close'] for c in price_p.get_historical(startdate_s, enddate_s)] 
    dump = np.array(closes_p) 
    na_price_ar.append(dump) 
    print symbol 
df = pd.DataFrame(na_price_ar).transpose() 

私は彼らの名前を変更したいです要素syms [:5]の値私はそれを見つけた、私はこれを見つけた:

for symbol in syms[:5]: 
    df.rename(columns={ ''+ str(i) + '' : symbol}, inplace=True) 
    i = i+1 

私はvariabke dfをチェックすれば、私はまだ同じ列名を持っています。 アイデア

答えて

3

代わりに配列し、移調のリストを使用しての、あなたは、キーシンボルであり、その値は値の配列である辞書からのデータフレームを構築することができ:

import numpy as np 
import pandas as pd 
np.random.seed(2016) 
syms = 'abcde' 
na_price_ar = {} 
for symbol in syms[:5]: 
    # price_p = Share(symbol) 
    # closes_p = [c['Close'] for c in price_p.get_historical(startdate_s, enddate_s)] 
    # dump = np.array(closes_p) 
    dump = np.random.randint(10, size=3) 
    na_price_ar[symbol] = dump 
    print(symbol) 

df = pd.DataFrame(na_price_ar) 
print(df) 

利回りあなたはとして使用すること

a b c d e 
0 3 3 8 2 4 
1 7 8 7 6 1 
2 2 4 9 3 9 
0

あなたが使用することができます。

na_price_ar = [['A','B','C'],[0,2,3],[1,2,4],[5,2,3],[8,2,3]] 

syms = ['q','w','e','r','t','y','u'] 
df = pd.DataFrame(na_price_ar, index=syms[:5]).transpose() 
print (df) 
    q w e r t 
0 A 0 1 5 8 
1 B 2 2 2 2 
2 C 3 4 3 3 
0

辞書.rename()メソッドdf.columns [番号]ステートメント

dic = {'a': [4, 1, 3, 1], 'b': [4, 2, 1, 4], 'c': [5, 7, 9, 1], 'd': [4, 1, 3, 1], 'e': [5, 2, 6, 0]} 
df = pd.DataFrame(dic) 
number = 0 
for symbol in syms[:5]: 
    df.rename(columns = { df.columns[number]: symbol}, implace = True) 
    number = number + 1 

にキーと結果が

i f g h i 
0 4 4 5 4 5 
1 1 2 7 1 2 
2 3 1 9 3 6 
3 1 4 1 1 0 
であります
関連する問題