原始数据是:
输出数据是:
import pandas as pd
signal_data = pd.read_csv('B.txt').T
print pd.read_csv('B.txt').T
dates = pd.date_range('2015-10-1', periods=19)
signal_data_df= pd.DataFrame(signal_data, index=dates, columns=['PCLN', 'SPY', 'QCOM', 'AAPL', 'USB', 'AMGN', 'GS', 'BIIB', 'AGN'])
print signal_data_df
答案 0 :(得分:3)
因为你传递一个df作为数据源,所以它重用了df中的索引和列,所以当你传递一个替代索引和列值时,你有效地重新索引原始df,因此到处都是NaN
值。您可以直接重命名列并覆盖索引:
signal_data = pd.read_csv('B.txt').T
signal_data.columns=['PCLN', 'SPY', 'QCOM', 'AAPL', 'USB', 'AMGN', 'GS', 'BIIB', 'AGN']
signal_data.index = dates
或者让你的代码工作调用.values
以将df作为匿名np数组数据返回:
signal_data_df= pd.DataFrame(signal_data.values, index=dates, columns=['PCLN', 'SPY', 'QCOM', 'AAPL', 'USB', 'AMGN', 'GS', 'BIIB', 'AGN'])