数据示例:
目录
导入excel
读取excel,以excel的首行为表头、首列为索引
import pandas as pd
df = pd.read_excel('服务进口.xls', index_col=0, header=0)
读取行名/列名
- 获取行名:df.index.values
- 获取列名:df.columns.values
读取行数据
(一)标签读取 loc
1. 单行
#读取中国所在的行数据
data = df.loc["中国"]
2.连续多行
#读取“中国-法国”之间的行数据
data = df.loc['中国':'法国']
3.非连续多行
#读取“中国、德国、法国”3行数据
data = df.loc[['中国','德国','法国']]
(二)索引读取 iloc
1. 单行
#读取行索引为42的一行数据
data = df.iloc[42]
2.连续多行
#读取行索引为42-79的连续多行数据
data = df.iloc[42:79]
3.非连续多行
#读取行索引为40、55、77的3行数据(中国、德国、法国)
data = df.iloc[[40, 55, 77]]
读取列数据
(一) 标签读取 loc
1. 单列
#读取1990年的一列数据
data = df['1990']
2.连续多列
#读取1990年-2000年之间的连续多列数据
data = df.loc[:, '1990':'2000']
2.非连续多列
#读取1990年、1995年、2000年之间的连续多列数据
data = df.loc[:, ['1990','1995','2000']]
(二) 索引读取 iloc
1. 单列
#读取列索引为30的一列数据(1990年)
data = df.iloc[:, 30]
2.连续多列
#读取列索引为30-41的连续多列数据(1990年-2000年)
data = df.iloc[:, 30:41]
3.非连续多列
#读取列索引为30、35、40的3列数据(1990年、1995年、2000年)
data = df.iloc[:, [30, 35, 40]]
读取区域数据(行列相交)
(一) 标签读取(普通索引) loc
1.连续行列
#读取中国-法国、1990年-2000年的连续数据
data = df.loc['中国': '法国', '1990': '2000']
2.非连续行列
#读取中国、德国、法国,1990年、1995年、2000年的指定行列数据
data = df.loc[['中国', '德国', '法国'], ['1990', '1995', '2000']]
(二) 索引读取(切片索引) iloc
1.连续行列
#读取行索引为40-78,列索引为30-41的区域数据
data = df.iloc[40:78, 30:41]
2.非连续行列
#读取行索引为40、55、77的3行,列索引为30、49的2列区域数据
data = df.iloc[[40, 55, 77], [30, 40]]
以上各种读取方式可以结合使用