这篇教程python 删除特定行数据_Python实现和Excel基础功能对应关系写得很实用,希望能帮到您。
打开文件:
- Excel:双击文件打开
- Python:data = pd.read_excel('XXX.xlsx', sheet_name='工作表1')
data属于<class 'pandas.core.frame. DataFrame'>类型
基本信息查看-简单查看:
- Excel:简单查看
- Python:print(data.head()) #简单查看前5行
基本信息查看-行/列数:
- Excel:点击某行/列,查看计数值
- Python:
print(data.shape[1]) #查看列数 print(data.shape[0]) #查看行数
基本信息查看-单元格数:
- Excel:全选表格内容,查看计数值
- Python:print(data.size)
基本信息查看-列名称:
- Excel:查看列名称
- Python:print(data.columns)
基本信息查看-查看某行/列具体信息:
- Excel:查看某行/列具体信息
- Python:
print(data['XXX']) #查看某列具体信息 print(data[1:2]) #查看某行具体信息 print(data.iloc[0]) #查看某行具体信息(根据行号) print(data.loc[0]) #查看某行具体信息(根据索引)
'XXX'必须为具体的列名称
基本信息查看-查看某(一个或多个)单元格具体信息:
- Excel:查看某(一个或多个)单元格具体信息
- Python:print(data.loc[[0,2],['XXX','YYY']]) #0和2行,'XXX'和'YYY'列对应的信息
基本信息查看-查看某块(N*M)单元格具体信息:
- Excel:查看某块(N*M)单元格具体信息
- Python:print(data.iloc[0:3,0:3]) #查看0~2行和0~2列之间的区域
pd.iloc[i,j] i,j 只能是数字,即原始索引 pd.loc[i,'j'] i,j既可以是数字,也可是字母,即索引标签
信息筛选-列信息筛选:
- Excel:数据筛选
- Python:data = data[(http://data.XXX >=20) & (http://data.XXX <=30) & (data.YYY.isin(['A','B']))]
XXX筛选数据范围,YYY筛选条件(取反在前面加 ~,~data.YYY.isin(['A','B']) )
信息删除-删除某行/列:
- Excel:删除行/列
- Python:
data = data.drop([0,2,4,6,8]) #删除行 data = data.drop(columns=['XXX','YYY']) #删除列
信息删除-删除空值:
- Excel:删除空值
- Python:data = data.dropna(how ='any') #删除空值 how ='any'/'all'
'any':如果存在任何NA值,则删除该行或列 'all':如果所有值都是NA,则删除该行或列
信息插入-插入某行/列:
- Excel:插入行/列
- Python:
data['new'] = 0 #插入最后一列 data.insert(1,'new',0) #指定位置插入一列
数据替换-替换空值:
- Excel:选中->查找->替换
- Python:data.fillna(0) #将所有空值用0(数字)填充
数据替换-替换某列的特定值:
- Excel:选中->查找->替换
- Python:
for i in range(data.shape[0]): if data.loc[[i],['XXX']].values >=10: data.loc[[i], ['XXX']] = 0
合并拆分列-多列合并为一列:
- Excel:=A2&"-"&B2
- Python:data['new'] = data['XXX'].map(str) + "-" +data['YYY'].map(str)
合并拆分列-一列拆分为多列:
- Excel:分列->分隔符
- Python:
data['XXX_split'] = data['XXX'].str.split('-') data['XXX_split1'] = data['XXX_split'].str[0] data['XXX_split2'] = data['XXX_split'].str[1]
排序:
- Excel:排序(升/降)
- Python:data = data.sort_values(by = ['XXX','YYY'], ascending = True) #ascending = True(升序)/False(降序)
内容匹配:
- Excel:=vlookup(lookup_value,table_array,col_index_num,range_lookup)
- Python:data = pd.merge(data1, data2, how='left', on=['XXX','YYY'])
数字格式处理:
- Excel:=int(X)向下取整
- Python:data['XXX'] = data['XXX'].astype(int)
透视表:
- Excel:插入->数据透视表
- Python:
data = pd.pivot_table(data, index=['X','XX'], #行 columns=['Y','YY'], #列 values=['Z','ZZ'], #值 aggfunc=[np.sum,np.mean,len], #汇总 均值 计数 margins=True) #汇总信息 不需要汇总 False
python代码实现pandas读取Excel数据转换numpy格式数据 python编辑excel--更改的最后一列 |