pandas包
统计某一行各个元素数量:
file = pd.read_excel(' ') 读取Excel数据表
xx = file[' x '] 将读取的某一列(列名为x)保存在xx
xx.value_counts() 即可对文档中的列名为x的列进行统计
house_info = pd.read_csv('house_info.csv')
取行的操作:
house_info.loc[3:6]类似于python的切片操作
取列操作:
house_info['price'] 这是读取csv文件时默认的第一行索引
取两列
house_info[['price',tradetypename']] 取多个列也是同理的,注意里面是一个list的列表,不然会报错误;
增加列:
house_Info['adress_new']=list([.....]) 跟字典的操作有点类似;
对某一列除以他的最大值,这样可以得到一个0,1的数值范围,也就是一个简易的归一化操作;
house_info['price']/house_info['price'].max()
对列进行排序操作:
house_info.sorted_values('price',inplace=True,ascending=True) 这里的inplace表示再排序的时候是否生成一个新的dataframe 结构,ascending=true表示升序,默认也是升序;还有一点应该注意的是:对于缺省值,(Nan)排序的时候会把他排在末尾;
如何获取缺省值,:
column_null = pd.isnull(column)
column_is_null_true = column[column_null]
提取某行某列的数值:
读取‘WT_Runcode’列第i行对应的数据:
data['WT_Runcode'][i] 或者 data.loc[i,'WT_Runcode']
只要df表中某列(例如B列)有值x与y所在的行:
df[df.B.isin([5,13])]
判断表中某行某列是否为空值:
np.isnan(file['B'][i]) True? Flase? 判断file表中B列i行是否为空
pandas删除带有空值的行:
使用DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
参数说明:
axis: axis=0: 删除包含缺失值的行
axis=1: 删除包含缺失值的列
how: 与axis配合使用
how=‘any’ :只要有缺失值出现,就删除该行货列
how=‘all’: 所有的值都缺失,才删除行或列
thresh:axis中至少有thresh个非缺失值,否则删除
比如 axis=0,thresh=10:标识如果该行中非缺失值的数量小于10,将删除改行
subset: list
在哪些列中查看是否有缺失值
inplace: 是否在原数据上操作。如果为真,返回None否则返回新的copy,去掉了缺失值
pandas删除列:可以使用dropna 或者drop函数
df.drop('falsjf',axis1) 或者 df.drop(['dhfaks','fkasjf','fhassf'],axis = 1)
pandas填充:
使用DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
value: scalar, dict, Series, or DataFrame
dict 可以指定每一行或列用什么值填充
method: {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None
在列上操作
ffill / pad: 使用前一个值来填充缺失值
backfill / bfill :使用后一个值来填充缺失值
limit 填充的缺失值个数限制。应该不怎么用
取序列的索引项:
x1= df.index
使用pandas获取列标签:
liebq1 = file1.columns.values
liebq1 = list(file1.columns.values) 转化为列表形式
常看表格信息:df.info()