pandas操作excel常用命令

1、引入pandas

import pandas as pd 

读取excel

df=pd.read_excel('1.xlsx')

写出到excel(文件名相同将会覆盖)

df.to_excel('1.xlsx')

数据排序

newDF = df.sort(['曝光量', '带来的访客数'], ascending=[True, False]);  #多重排序

使用&(并)与| (或)实现多条件筛选

df[df['id']>100 & df['id']<200]
#in筛选方式
df[df['id'].isin([100,101,102])]

获取行数和列数

df.shape[0]
df.shape[1]

数据清洗

misc['product_desc'] = misc['product_desc'].str.replace('\n', '')
df["Make"] = df["Make"].map(str.strip)

按照某列删除重复项

df = df.drop_duplicates('b')

删除空行/列

import numpy as np
df['测试列']=np.nan #这里增加一列模拟数据
df.dropna(axis=1,how='all') 
#axis为0和1分别代表按行和列,how='all' 或者'any' 则表示是正行/列数据全部为Nan或者是只要任一出现Nan进行删除

重置索引列

ndf=df[df['标题']=='空间']
ndf.head()
#=================数据如下=================
        ID  标题                                                 正文  
8   500002  空间                               空间百分之八十满意吧,反正比老款的好多了 
18  500003  空间  车间方面表现也很不错,储物空间也足够用

假如我们像正常的操作df

for i in range(ndf.shape[0]):
     print(ndf.ix[i,0])

这里将会得到类似下面的报错:
File "pandas\index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)
File "pandas\index.pyx", line 159, in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)
File "pandas\hashtable.pyx", line 303, in pandas.hashtable.Int64HashTable.get_item (pandas\hashtable.c:6610)
File "pandas\hashtable.pyx", line 309, in pandas.hashtable.Int64HashTable.get_item (pandas\hashtable.c:6554)
解决的方法就是使用reset_index重置索引即可

ndf.reset_index(drop=True) #不加drop选项的话则新增一列索引
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容