python之pandas入门操作

本文章是建议入门者直接上手操作,在操作中再去想为什么,是什么?

--理论知识暂时不写了,可自行百度 ,跟着代码来入门,简单粗暴。

import pandas as pd
import numpy as np
from pandas import Series,DataFrame

#数据结构:Series 和DataFrame

#Series 是一个定长的字典序列  定长:相当于两个ndarray
#Series有两个基本属性:index和values   index默认0,1,2...递增  可以自定义索引如: index=[‘a‘,‘b‘..]
x1 = Series([1,2,3,4])
# print(x1)
x2 = Series(data=[1,2,3,4],index=[‘a‘,‘b‘,‘c‘,‘d‘])
# print(x2)

#也可用字典的方式来创建Series
d = {‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4}
x3 = Series(d)
# print(x3)

#DataFrame 类型数据结构-类似数据库表——包含了行索引和列索引
data = {‘chinese‘:[66,95,93,90,80],‘English‘:[65,85,92,88,90],‘Math‘:[30,98,96,77,90]}
df1 = DataFrame(data)
# print(df1)
#设置行索引index  以及列索引columns
df2 = DataFrame(data,index=[‘ZhangFei‘,‘GuanYu‘,‘ZhaoYun‘,‘HuangZhong‘,‘DianWei‘],columns=[‘English‘,‘Math‘,‘chinese‘])
# print(df2)
"""
df1 结果
  chinese  English  Math
0       66       65    30
1       95       85    98
2       93       92    96
3       90       88    77
4       80       90    90

df2结果
            English  Math  chinese
ZhangFei         65    30       66
GuanYu           85    98       95
ZhaoYun          92    96       93
HuangZhong       88    77       90
DianWei          90    90       80
"""

#了解了基本的Series和DataFrame两个数据结构后,我们从数据处理的流程来继续学习使用方法

#数据的导入和输出
#pandas允许直接从xlsx,csv文件中导入数据,也可输出到xlsx,csv中
#xlsx excel文件自行准备
score = DataFrame(pd.read_excel(‘pandas_data.xlsx‘))
# score.to_excel(‘data1.xlsx‘)
# df2.to_excel(‘data1.xlsx‘)
#pip install openpyxl
#pip install pandas
# print(score)

#数据清洗
# drop()删除不需要的行或列
# df2 = df2.drop(index=[‘ZhangFei‘])
# df2 = df2.drop(columns=[‘chinese‘])
# print(df2)

# rename重命名列名 columns,  rename(columns=new_name,inplace=True)
# df2.rename(columns={‘chinese‘:‘Yuwen‘,‘English‘:‘Yingyu‘},inplace=True)
# print(df2)

#去重复的值 drop_duplicates() 自动去重行
data1 = {‘chinese‘:[66,66,95,93,90,80],‘English‘:[65,65,85,92,88,90],‘Math‘:[30,30,98,96,77,90]}
df3 = DataFrame(data1,index=[‘ZhangFei‘,‘ZhangFei‘,‘GuanYu‘,‘ZhaoYun‘,‘HuangZhong‘,‘DianWei‘],columns=[‘English‘,‘Math‘,‘chinese‘])
df3 = df3.drop_duplicates()
# print(df3)

#格式问题---更改数据格式--astype()
#eg:将chinese字段值改成str或者int64类型
df3[‘chinese‘].astype(‘str‘)
# import numpy as np
# df3[‘chinese‘].astype(np.int64)
# print(df3)

#数据间的空格--先把格式转换成str类型,strip函数去空格 map()映射
# df3[‘chinese‘]=df3[‘chinese‘].map(str.strip)
# #删除左空格
# df3[‘chinese‘]=df3[‘chinese‘].map(str.lstrip)
# #右空格
# df3[‘chinese‘]=df3[‘chinese‘].map(str.rstrip)
# #特殊字符
# df3[‘chinese‘]=df3[‘chinese‘].map(str.rstrip(‘$‘))

#大小写转换
#小
df3.columns=df3.columns.str.upper()
#大
df3.columns=df3.columns.str.lower()
#首字母大写
df3.columns=df3.columns.str.title()

# 查找空值  空值NAN  isnull()
df3.isnull()  #对应字段 返回True或Flask

#apply函数对数据进行清洗--使用频率较高
#eg:大小写转化
# apply(str.upper)
df4 = DataFrame(data={‘name‘:‘ZhangSan‘},index=[‘1‘])
# print(df4)
df4[‘name‘] = df4[‘name‘].apply(str.upper)
# print(df4)
#apply也可定义函数在apply中使用 apply(func)

#数据统计
#如果有遇到控制NaN会自动排除
#min()  max()   sum()  mean() 平均值
#median() 中位数  var()方差  std()标准差
#argmin()统计最小值的索引位置  argmax()统计最大值的索引位置
#idmin() 统计最小值的索引值    idxmax()统计最大值的索引值

######统计函数千千万,describe()函数最便捷  统计大礼包。。
df6 = DataFrame({‘name‘:[‘ZhangFei‘, ‘GuanYu‘, ‘a‘, ‘b‘, ‘c‘], ‘data1‘:range(5)})
# print(df6.describe())
# print(df6)
"""
          data1
count  5.000000
mean   2.000000
std    1.581139
min    0.000000
25%    1.000000
50%    2.000000
75%    3.000000
max    4.000000
"""

#数据合并
#将多个渠道源的多个数据库表进行合并,
#一个DataFrame为一个数据表内容  两个合并使用merge()
df7 = DataFrame({‘name‘:[‘Zhangfei‘,‘lisi‘,‘zhangsan,‘,‘a‘]})
df8 = DataFrame({‘name‘:[‘Zhangfei‘,‘lisi‘,‘a,‘,‘a‘]})

#基于指定列进行连接---健的交集
# df9 = pd.merge(df7,df8,on=‘name‘)
#inner内连接内链接是 merge 合并的默认情况,inner 内连接也为健交集
df9 = pd.merge(df7,df8,how=‘inner‘)
# print(df9)

#如何用SQL方式打开Pandas
#可以直接使用sql语句来操作pandas
from pandasql import sqldf,load_meat,load_births
df10 = DataFrame({‘name‘:[‘ZhangFei‘,‘GuanYu‘,‘a‘,‘b‘,‘c‘],‘data1‘:range(5)})
#将sql作为参数传入匿名函数中  sql参数, 设置globals全局参数
pydf10 = lambda sql:sqldf(sql,globals())
sql = "select * from df10 where name=‘ZhangFei‘"

print(pydf10(sql))

"""
Pandas中有Series和DataFrame两种重要的数据结构。
    Series:是一个定长的字典序列。有两个基本属性:index,values
    DataFrame:类似于数据库表的一种数据结构。我们甚至可以像操作数据库表那样对DataFrame数据进行
    连接,合并,查询等等
    常用DataFrame进行数据清晰:用到的发方法有:
        - describe() 统计性描述
        - drop_duplicates() 删除重复行
        - rename(columns=...) 更名
        - dropna() 删除具有空的行
        - isnull() 判断空值
        - fillna() 填充空值
        - apply() 应用函数
        - merge() 合并df
        - value_counts() 统计某列的各类型个数
        - read_excel() to_excel() 读取和保存excel
        - set_index() 设置索引
        - cut 分组

"""

原文地址:https://www.cnblogs.com/HugJun/p/11107297.html

时间: 2024-10-07 05:43:38

python之pandas入门操作的相关文章

利用Python进行数据分析——pandas入门

利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 1.Series 类似于Python的字典,有索引和值 创建Series #不指定索引,默认创建0-N In [54]: obj = Series([1,2,3,4,5]) In [55]: obj Out[55]: 0 1 1 2 2 3 3 4 4 5 dtype: int64 #指定索引 In

Python中pandas模块快速入门

我这里简单介绍一下Python中,pandas模块定义的两种常用的数据结构,Series和DaraFrame.Series和Python中的Dict类似,但是是结构化的,而DataFrame和数据库中的表类似. 1.pandas基本数据结构-pandas.Series&pandas.DataFrame 第二种定义DataFrame的方法不能手动设置index,只能自动生成序列.date_range('20180201',periods=8)定义时间序列,可以用freq来设置频率:s=pd.dat

短视频学习 - 15、pandas入门之数据结构-Series(1)

今日内容 # pandas入门之数据结构-Series 简介 # Series是一维标记的数组,能够保存任何数据类型(整数,字符串,浮点数,Python对象等) 常用操作 # 从ndarray实例化 (ndarray是numpy的数据结构) # 从字典实例化(先创建字典,再将字典实例化为series) # 从标量值实例化 # 将Series完全转化为numpy的ndarray,能执行大多数NumPy的函数操作 FollowMe # 实现上述具体操作 若浏览器无法显示下面视频,可点击此处观看优酷短

Python黑客编程入门教程

我真正开始学习Python是从今年4月份看到2017年的国赛试题之后,之前虽也零星接触过,但都只是皮毛,所以对于我,必须要借助这样一些目标的驱动,才有动力或压力去深入学习下去,这也是我坚持带比赛的一个主要原因. 这套教程是在7月份暑假集训期间录制的,所以从我开始学习Python到录制教程前后也就3个多月的时间,因而教程的内容肯定是相对比较粗糙的.之所以要这么赶,主要是必须要在暑假集训期间让这批准备参加11月份省赛的同学能对Python入门,省赛要跟国赛走,而Python必定是今年省赛的重点.还有

智普教育Python视频教程之入门基础篇,python笔记

智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostname="www.google.com" 结果运行后总是告诉我NameError: name 'socket' is not defined 哪位帮我分析一下,怎么改才对 没用过socket,不过你试着在第一行加入 import socket C:\>notepad somefile.

Python简单爬虫入门二

接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们BeautifulSoup的基本结构如下 #!/usr/bin/env python # -*-coding:utf-8 -*- from bs4 import BeautifulSoup import requests headers = { 'User-Agent':'Mozilla/5.0 (Win

Python 简介与入门

Python 简介 Python (英国发音:/?pa?θ?n/ 美国发音:/?pa?θɑ?n/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube.Dropbox.BT.Quora(中国知乎).豆瓣.知乎.Google.Yahoo!.Face

大牛整理最全Python零基础入门学习资料

大牛整理最全Python零基础入门学习资料 0 发布时间:『 2017-11-12 11:56 』     帖子类别:『人工智能』  阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料』的责任编辑:老王) 摘要:大牛整理最全Python零基础入门学习资料 Python数据类型--数字 Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. var1 = 1 var2 = 10 您也可以使

Python数据分析 Pandas模块 基础数据结构与简介(一)

pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二维矩阵:DataFrame 三维面板数据:Panel 背景:为金融产品数据分析创建的,对时间序列支持非常好! 数据结构 导入pandas模块 import pandas as pd 读取csv文件,数据类型就是二维矩阵 DataFrame df = pd.read_csv('路径')type(df)