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选项的话则新增一列索引