首页 > 编程语言 >Python数据处理

Python数据处理

时间:2022-10-05 09:33:26浏览次数:87  
标签:索引 Python 数据 DataFrame df 数据处理 data 2010

Pandas

Series

  • 一列带索引的数据
s = pd.Series(np.random.randn(5), name='Helloworld')

DataFrame

  • 二维数据,多组Series的集合
df = pd.read_excel('GDP.xlsx')
  • 重置索引
df = df.set_index('province')
  • 更改列名
df.columns = '2010', '2019'
data = data.rename(columns = lambda x: x.lower()) #列名转化为小写
  • 数据处理
data['2010'].sum()
data['2010'].mean()
data['2010'].max()
data['2010'].min()
data.describe() #查看描述性统计
data.info() #查看数据类型
df["价格"] = df["价格"].astype("float64") #数据类型转化
  • 数据提取

    • iloc索引器按照位置进行基于整数的索引

      df.iloc[0:3, 2:4] #选择1-3行,3-4列
      
    • loc索引器按照索引、布尔值或者条件选择数据

      df.loc[['A','B'], ['C','D']] #选择多行多列
      df.loc[df['first_name'] == 'DFL'] #按照布尔值选择
      
  • 数据合并

    • concat:沿着一条轴将多个DataFrame堆叠到一起
    • append:将Series或字典数据添加到DataFrame
    • merge:按照一个或多个键将不同DataFrame中的行连接起来
    • join:将两个没用共同列名的数据进行快速合并,默认是保留被合并的数据索引
  • 数据聚合

    • 调用groupby函数,按照一列数据的不同组对DataFrame进行分组
  • apply函数

    • 用于对当列数据遍历调用自定义函数
    • 增加字段
    df = pd.read_csv('./cook.csv') 
    df['难度'] = df['用料数'].apply(lambda x:'简单'if x<5else('一般'if x<15 else'较难')) #增加难度字段
    
    • 批量分割字符
    df = df[df['楼层'].notnull()]
    df['所在楼层']=df['楼层'].apply(lambda x:x.split('/')[0])
    df['所在楼层'] = df['所在楼层'].astype("int32")
    
    • 正则匹配
    def get_subway_distance(row):
        distance=re.search(r'\d+(?=米)',row)
        if distance==None:
            return-1
        else:
            return distance.group()
    df['距离地铁距离']=df['地铁'].apply(get_subway_distance)
    
  • 导出和保存DataFrame

    data.to_csv('food.csv', index=False, encoding='utf-8')
    data.to_excel
    
    #将数据写入mysql的数据库,但需要先通过sqlalchemy.create_engine建立连接,且字符编码设置为utf8,否则有些latin字符不能处理
    from sqlalchemy import create_engine
    connect = create_engine('mysql+pymysql://你的用户名:你的密码@localhost:端口号/数据库名?charset=utf8')
    pd.io.sql.to_sql(data,'stock_quotes', connect, schema='test', if_exists='append',index=False)  #replace替换,append追加
    #建议数据插入后,增加id字段并设置为自增主键,以后追加或更新数据时才不会报错
    

标签:索引,Python,数据,DataFrame,df,数据处理,data,2010
From: https://www.cnblogs.com/z5onk0/p/16755074.html

相关文章

  • Python可视化
    地图可视化pyecharts绘制各省市GDPfrompyecharts.globalsimportThemeType#引入主题Map(init_opts=opts.InitOpts(width="1000px",height="600px",theme=ThemeTyp......
  • python5-eg
    1实例012programmer_1='程序员甲:搞IT太辛苦了,我想换行......怎么办?'3programmer_2='程序员乙:敲一下回车键'4print(programmer_1+'\n'+programmer_2)实......
  • Python 中四舍五入的方法,你真的会吗
    Python的四舍五入,还真有点小麻烦。1、使用round大多数情况下,我们会使用round来保留小数,但这并不符合我们在数学知识里的规则。round(number[,ndigits])round()......
  • 【笨方法学python】ex18 - 命名、变量、代码、函数
    代码如下:点击查看代码#-*-coding:utf-8--*-#命名、变量、代码、函数#thisoneislikeyourscriptswithargvdefprint_two(*args): arg1,arg2=args pri......
  • python装饰器进阶指南
    前言最近一有时间就在整理自己常用的代码片段,并做成了私人pip包,正好整理到了装饰器的部分,所以就想着写篇文章来总结一下。写这篇文章的目的是为了让大家对装饰器有一个更......
  • 【笨方法学python】ex17 - 更多文件操作
    代码如下:点击查看代码#-*-coding:utf-8--*-#更多文件操作fromsysimportargvfromos.pathimportexists#exists模块:将文件名字符串作为参数,如果文件存在,......
  • 【笨方法学python】ex16 - 读写文件
    代码如下:点击查看代码#-*-coding:utf-8--*-#读写文件#close-关闭文件(保存)。#read-读取文件内容,结果可赋值给一个变量。#readline-读取文本文件中的一......
  • python的入门TCP编程
    一、创建TCP服务器创建TCP服务器的流程:使用socket创建一个套接字使用bind绑定IP和端口使用listen让套接字变成可以被动连接使用accept等待客户端的连接使用recv/send接收......
  • 【笨方法学python】ex15 - 读取文件
    代码如下:点击查看代码#-*-coding:utf-8--*-#读取文件fromsysimportargvscript,filename=argvtxt=open(filename)print"Here'syourfile%r:"%f......
  • 【笨方法学python】ex13 - 参数、解包、变量
    代码如下:点击查看代码#-*-coding:utf-8--*-#参数、解包、变量fromsysimportargv#argv是所谓的“参数变量”,是一个非常标准的编程术语。#包含了你传递给......