- 插入数据
import pandas as pd import numpy as np data = {"grammer":["Python","C","Java","Go",np.nan,"SQL","Php","Python"], "score":[1,2,np.nan,4,5,6,7,10] }
- 提取含有python的行
df[df["grammer"]=="Python"]
- 输出所有的列名
df.columns
-
修改第二列为popularity
df.rename(columns={"score":"popularity"},inplace= True)
-
统计grammer列中每种编程语言出现的次数
df["grammer"].value_counts()
-
将空值用上下值的平均值来填充 针对popularity列
df["popularity"].fillna(df["popularity"].interpolate(),inplace=True)
-
提取popularity列大于3的行
df[df["popularity"]>3]
-
按照grammer列去除重复值
df.drop_duplicates(["grammer"],inplace=True)
-
计算popularity列的平均值
df["popularity"].mean()
-
将grammer列转换为list
df["grammer"].tolist()
-
将文件保存在excel文件
df.to_excel("test.xlsx")
-
查看数据列的行数
df.shape
-
# 提取popularity列大于3且小于7的行
df[(df["popularity"]>3) & (df["popularity"]<7)]
-
# 交换两列的位置
df[df.columns[[1,0]]]
-
提取popularity列中的最大值的行
df[df["popularity"]==df["popularity"].max()]
-
# 查看最后5行的数据
df.tail()
-
# 删除最后一行的数据
df.drop([len(df)-1],inplace= True)
-
# 添加一行数据
df.append({"grammer":"Perl","popularity":6.6},ignore_index=True)
-
# 对数据按照popluarity进行降序排序
df.sort_values("popularity",ascending=False)
-
# 统计grammer列的字符串长度
df["len_str"] = df["grammer"].map(lambda x:len(x))
-
打印pandas的全部列和行
pd.set_option("display.max_rows",None) pd.set_option("display.max_columns",None)
-
删除多层索引的列
data_level.columns=data_level.columns.droplevel(0)
-
统计分析的一些方法
data_level = pd.DataFrame( data_suc.groupby(["层级名称"]).agg({"实际金额":["count","sum","mean"]}))
-
在保存csv文件的时候,如果打开之后是乱码,可以保存为
df.to_csv("数据文件/代理分析.csv",encoding="utf-8-sig")
-
插入数据库
import pymysql import pandas as pd from sqlalchemy import create_engine conn = create_engine('mysql+pymysql://root:root@localhost:3306/开元',encoding='utf8') #写入数据,table_name为表名,‘replace’表示如果同名表存在就替换掉 pd.io.sql.to_sql(data_test, "会员名单", conn, if_exists='replace')
-
分组之后查询
data.groupby(["银行账户姓名","银行卡号","银行名称"]).filter(lambda x:x["申请提现金额"].sum()>10000)
28.获取当前时间戳
import datetime
from time import time
datetime.datetime.fromtimestamp(time()).strftime("%Y-%m-%d %H:%M:%S")
29.窗口函数
data.rolling(window=2).sum()
30.把多个工作表写入同一个工作簿
writer = pd.ExcelWriter('output.xlsx', engine ='xlsxwriter')
datacount_success.to_excel(writer, sheet_name='Sheet1')
datacount_catchmore.to_excel(writer,sheet_name="匹配多个")
datacount_uncatch.to_excel(writer, sheet_name="没有匹配到的")
datacount_error.to_excel(writer, sheet_name="没有查询到卡号的")
writer.save()