Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的txt文件在使用pd.DataFrame后发生了更改?_Python_Pandas - Fatal编程技术网

Python 为什么我的txt文件在使用pd.DataFrame后发生了更改?

Python 为什么我的txt文件在使用pd.DataFrame后发生了更改?,python,pandas,Python,Pandas,原始数据为: 输出数据为: 因为传递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 = dat

原始数据为:

输出数据为:


因为传递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
以匿名np数组数据的形式返回df:

signal_data_df= pd.DataFrame(signal_data.values, index=dates, columns=['PCLN', 'SPY', 'QCOM', 'AAPL', 'USB', 'AMGN', 'GS', 'BIIB', 'AGN'])

你想重命名列吗?是的,重命名索引和列,但关键是“1”信号已消失。正如EdChum提到的,使用
df.columns
重命名。我正要提到“df.columns”,我看到了你的答案,然后当看到第二个选项无法抵制投票时:)
signal_data_df= pd.DataFrame(signal_data.values, index=dates, columns=['PCLN', 'SPY', 'QCOM', 'AAPL', 'USB', 'AMGN', 'GS', 'BIIB', 'AGN'])