python-pandas常用数据操作

数据示例:
数据示例

导入excel

读取excel,以excel的首行为表头、首列为索引

import pandas as pd

df = pd.read_excel('服务进口.xls', index_col=0, header=0)

读取行名/列名

  1. 获取行名:df.index.values
  2. 获取列名: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]]

以上各种读取方式可以结合使用

猜你喜欢

转载自blog.csdn.net/raphero/article/details/129702400
今日推荐