我一直在玩这个几个小时,它只是没有做到这一点。 我只是试图根据另一个数据帧的索引替换特定数据帧的索引。要做到这一点,我这样做A.index = B.index 但所有我得到的是: ValueError:长度不匹配:预期的轴有22个元素,新值有29个元素
首先,我有这个读取csv文件的pandas代码:
%pylab inline
import pandas as pd
import xlrd
from pandas import Series, DataFrame
first_data = pd.read_csv('sample.txt', sep='\t',skiprows=[0,1,2,3,4], header=None, index_col=[0])
然后我有一个从xlsx文件中读取的第二个DataFrame,我的目的是使用这种技术简单地从nai_data的索引替换该文件的索引A.index = B.index。
我有两个解决方案,但都不起作用,这就是我所做的:
解决方案1:
dtype = pd.read_excel('Type.xlsx', header=None)
#dtype.index = first_data.index
print dtype
解决方案2:
xls_file=pd.ExcelFile('Type.xlsx', header=None)
table=xls_file.parse('Sheet1', header=None)
#table.index = first_data.index
print table
印刷后,它们看起来像这样:
0
0 ghost
1 ghost
2 ghost
3 noise
4 noise
5 noise
6 noise
7 noise
8 ghost
9 ghost
10 ghost
11 ghost
12 ghost
13 noise
14 noise
15 noise
16 noise
17 noise
18 ghost
19 ghost
20 ghost
21 ghost
22 ghost
23 noise
24 noise
25 noise
26 noise
27 noise
如果我激活A.index = B.index代码,它会给出一个
ValueError: Length mismatch: Expected axis has 22 elements, new values have 29 elements
我错过了什么吗?