
本文为我日常工作中常用功能的代码块,可以满足绝大部分文本数据处理的需求。
首先导入常用的包
import pandas as pd
本文假设所使用的excel文件目录为 C:/Users/Administrator/Desktop
名称为 test.xlsx
df 为 定义好的Dataframe格式数据
1 读取excel文件到dataframe中
df = pd.read_excel(r'C:/Users/Administrator/Desktop/test.xlsx')
将本地的excel文件读取成Dataframe格式数据,并命名为df
关于读取本地文件,详情请见
Tao:最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel)zhuanlan.zhihu.com
2 将dataframe数据保存到excel中
df.to_excel(r'C:UsersAdministratorDesktoptest.xlsx',index=False)
index=False表示不带索引输出
3 按照某字符将一列拆分为多行,其余列的数据保持不变
按照'+'拆分A列
df = df.drop('A', axis=1).join(df['A'].str.split('+', expand=True).stack().reset_index(level=1, drop=True).rename('A'))
源数据:

拆分后:

4 删除A列中包含'a'的行
df = df[~ df['A'].str.contains('a')]
源数据:

删除后:

5 查看A列中包含'a'的行
print(df[df['A'].str.contains("a")])
6 调整列的顺序
df = df[['B', 'A']]
df是你要调整顺序的表名,列表内的字段顺序是你要调整的顺序
调整后:

7 查看A列包含a的数据的随机抽样,frac表示抽取的比例
print(df[df['A'].str.contains('a')].sample(frac=0.015))
8 删除B列中值为0的行
df = df.drop(df[df.B == 0].index)
同理可以删除大于某值,小于某值,等于某值的行
9 将表中的NaN替换为其他数值(替换别的值类似)
源数据

df.replace(np.NAN, '未知', inplace=True)

10 将A字段中的所有空格去掉(或替换别的字符)
df['A'].str.replace(' ','')
11 显示数据中有多少空值
df.isnull().sum()
12 按照'总销售'列排序(降序)并取前200
df = df.sort_values('总月售',ascending=False)[:200]
13 打印所有的列名
df.columns.values.tolist()
14 按照每行遍历数据,取每行的第一列的值
for indexs in df.index:
print(df.loc[indexs].values[:][0])# 输出每一行
15 删除包含空值的行
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 函数作用:删除含有空值的行或列
axis:维度,axis=0表示index行,axis=1表示columns列,默认为0
how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列
thresh:一行或一列中至少出现了thresh个才删除。
subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)
inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。
例:
df.dropna(inplace=True)
源数据:

删除后:

16 将包含**的数据替换为**(比如将 --aa**cc-- 替换为 **)
menu = ['aa','bb','cc','dd']
def change(x):
for i in menu:
if i in x:
return i
return x
df['A']=df['A'].apply(change)
df
源数据:

修改后:

17 python中删除list中某指定元素

18 将不同dataframe写入同一个excel的不同sheet中
writer = pd.ExcelWriter(r'C:UsersAdministratorDesktoptest.xlsx')
df1.to_excel(writer,"sheet1")
df2.to_excel(writer,"sheet2")
df3.to_excel(writer,"sheet3")
writer.save()
攒够十个赞继续更新
十个赞啦~第二篇在此:
Tao:Python处理数据常用方法(pandas版)2zhuanlan.zhihu.com