pd.read_excel的返回类型
Load1 = pd.read_excel("D:\\Load.xlsx")
...
Load.append(Load1)
Load.append(Load2)
Load.append(Load3)
Load.append(Load4)
print(Load[0][0][0])
print(Load[0][0][1])
处理数据的时候发现一个问题,当我打印一个多维数据的具体值的时候,发现行列好像对不上,Load是一个多维列表,Load[0]是一个二维列表,按照处理数组的方式,我们最后的输出应该是第一行的第一列和第二列的值,但是这不是数组,实际发现输出的是第一列的第一行和第二行的值,于是打印出所有的数据类型,发现Load[0][0]是DataFrame的数据格式
print(Load)
print(type(Load))
print(Load[0])
print(type(Load[0])) #输出<class 'list'>
print(Load[0][0])
print(type(Load[0][0])) #输出<class 'pandas.core.frame.DataFrame'>
print(Load[0][0][0]) #输出<class 'pandas.core.series.Series'>
print(Load[0][0][1])
DataFrame:
- 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)
- 既有行索引,又有列索引,它可以被看成是由Series组成的字典
- 数据是以一个或多个二维块存放的,而不是列表、字典或别的一维数据结构
实际上,我们Load[0][0]的第二个0是列的索引,示例代码如下:
import pandas as pd
data1 = {
0:['aaa','bbb','ccc','ddd','eee'],
5:[2000,2001,2002,2001,2002],
6:[1.8,1.7,3.6,2.4,2.9]
}
frame = pd.DataFrame(data1)
print(frame)
print(frame[5])
输出为:
0 5 6
0 aaa 2000 1.8
1 bbb 2001 1.7
2 ccc 2002 3.6
3 ddd 2001 2.4
4 eee 2002 2.9
0 2000
1 2001
2 2002
3 2001
4 2002
Name: 5, dtype: int64