我使用pd.DataFrame后为什么我的txt文件被更改了?

时间:2015-10-28 11:08:59

标签: python pandas

原始数据是:

enter image description here

输出数据是:

enter image description here

    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       

1 个答案:

答案 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'])