读取数据
import pandas as pd
data = pd.read_csv("C://Users//TD//Desktop//1.csv")
查看列的字段名称
data.columns
查看前5行
data.head()
查看后5行
data.tail()
查看指定的n行
data.head(n=2)
data.tail(n=2)
查看数据字段名称、列名称
data.columns
提取指定行和列的数据
data.iloc[[1,3,4],[1,2]]
病案id 年龄
1 348969 63
3 350096 72
4 350716 68
提取连续行和列的数据
data.ix[1:5,1:3]
病案id 年龄
1 348969 63
2 348955 70
3 350096 72
4 350716 68
5 349993 61
提取连续列的数据
data.ix[:,0:3]
病人ID 病案id 年龄
0 37824593 349941 89
1 37066935 348969 63
2 37058209 348955 70
3 37964732 350096 72
4 38409104 350716 68
5 37883186 349993 61
6 37927157 350050 76
提取连续行的数据
data.ix[0:3,:]
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
0 37824593 349941 89 男 ... 1 0 244.32 NaN
1 37066935 348969 63 女 ... 0 0 408.00 0.0
2 37058209 348955 70 男 ... 0 0 88.80 0.0
3 37964732 350096 72 女 ... 0 0 71.76 0.0
[4 rows x 22 columns]
提取不连续行和列的数据
data.iloc[[1,3],[2,4]]
年龄 出院时间
1 63 2017/1/15 13:21
3 72 2017/1/13 12:06
提取不连续行的数据
data.iloc[[1,3],:]
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
1 37066935 348969 63 女 ... 0 0 408.00 0.0
3 37964732 350096 72 女 ... 0 0 71.76 0.0
提取不连续列的所有数据
zz=data.iloc[:,[1,3]]
zz.head(n=2)
病案id 性别
0 349941 男
1 348969 女
查看第4行第2列数据
data.iat[4,2]
68
查看数据的行和列
data.shape
(409, 22)
查看第3行数据
data.iloc[3]
病人ID 37964732
病案id 350096
年龄 72
..............................
Name: 3, dtype: object
筛选
选择住院天数大于80的数据
data[data.住院天数>90]
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
204 30574226 281773 50 男 ... 0 0 86.16 0.0
或查询
选择住院天数大于70或者手术等级大于2
data[(data.手术等级>2)|(data.住院天数>70)]
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
7 37377080 349347 70 男 ... 0 0 18.00 0.00
24 33037826 284953 47 男 ... 1 0 10.32 0.00
133 38563643 350915 56 女 ... 0 0 20.64 NaN
并查询
&且的用法:选择住院天数大于70并且者手术等级大于2
data[(data.手术等级>2)&(data.住院天数>70)]
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
204 30574226 281773 50 男 ... 0 0 86.16 0.0
[1 rows x 22 columns]
条件查询
选择两列中,数据满足的条件情况是:
data[['病人ID','年龄']][(data.检查时间>7)|(data.年龄>20)]
病人ID 年龄
0 37824593 89
1 37066935 63
2 37058209 70
3 37964732 72
4 38409104 68
数据描述统计量
data.describe()
mean
std
min
25%
50%
75%
max
排序:按年龄排序,升序处理
data.sort_values(by='年龄')
病人ID 病案id 年龄 性别 ... 是否重复 是否再感染 检查时间 检验时长
196 39903334 352681 2 男 ... 1 0 1.92 0.00
377 38482844 350805 2 男 ... 0 0 12.24 NaN
统计性别
data['性别'].value_counts()
男 266
女 143
Name: 性别, dtype: int64