pandas常用方法

    技术2023-12-20  105

    工作中用pandas比较多,之前也用xlrd和openpyxl,慢慢也就基本只用大熊猫了,再就是如果对输出xlsx格式有特别要求的话用用xlsxwriter。 以下是pandas基本用法的整理。 pd.read_csv("data.txt",sep="[可以使用正则表达式]") pd.read_excel("data.excel",sheet_name=[]) # 基本函数 df.shape # 查看行列数 df.T # 行列转置 df[] # 取行列,只能用index和column索引 df.ix[0:2,0] # 取行列,可以用数字索引 df.loc[] # 只能用index和column索引 df.iloc[] # 只能用数字索引 df.at[] # 取单值,只能index和column索引 df.iat[] # 取单值,只能数字 # 迭代 for index, row in df.iterrows() # 按行迭代,index每一行的索引值,从0开始 for data, row in df.iteritems() # data为列名,按列迭代 for row in df.itertuples() # 按行迭代,迭代为一行数据的元组 df.DataFrame() # 其他数据转dataframe,或者使用 df.DataFrame.from_dict(data_dict) df.drop_duplicates(subset=["col_name"]) #针对具体列去重 pd.merge(df1,df2,how="outer",on="column1") # 连接方式同数据库join pd.concat([df1,df2],axis=1) # 拼接,axis=1拓展列拼接 pd.to_csv() pd.to_excel() # 对数据库操作 import pandas as pd from sqlalchemy import create_engine # 初始化数据库连接,使用pymysql模块 # MySQL的用户:root, 密码:147369, 端口:3306,数据库:test engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test') # 查询语句,选出employee表中的所有数据 sql = ''' select * from employee; ''' # read_sql_query的两个参数: sql语句, 数据库连接 df = pd.read_sql_query(sql, engine) # 输出employee表的查询结果 print(df) # 新建pandas中的DataFrame, 只有id,num两列 df = pd.DataFrame({'id': [1, 2, 3, 4], 'name': ['zhangsan', 'lisi', 'wangwu', 'zhuliu']}) # 将新建的DataFrame储存为MySQL中的数据表,储存index列 df.to_sql('mydf', engine, index=True) print('Read from and write to Mysql table successfully!')
    Processed: 0.024, SQL: 9