Pandas:一个高性能的数据分析Python库

liftword3个月前 (12-20)技术文章42

前言

Pandas是Python中一个非常强大的数据分析工具,它提供了丰富的数据处理和操作功能,可以快速高效地处理和转换数据。Pandas支持多种格式的数据输入和输出,包括CSV、Excel、JSON、SQL、HTML等,这大大增加了其在各种环境中的适用性。在我以往的工作经历中,主要用Pandas处理数据,统计分析结果,它可以像你操作Excel表格统计数据那样,用Pandas实现同样的功能,然后保存在excel里面。

在本文中,我们将初步学习pandas的基本用法,Serial,跟DataFrame的区别,基本的数据操作

安装

pip install pandas

快速入门

一.pandas Serial

Pandas Series是一种类似于一维数组的数据结构类似表格的一列(column)数据,可以保存任何数据,Series由索引,数据列组成

1.创建Series

>>> a = [1,2,3,4]
>>> ser = pd.Series(a)
>>> ser
0    1
1    2
2    3
3    4
dtype: int64
>>> ser[0]  # 访问第一个元素
1

2.指定索引

>>> a = [1,2,3,4]
>>> ser = pd.Series(a,index=["a","b","c","d"])
>>> ser
a    1
b    2
c    3
d    4
dtype: int64
>>> ser['a']
1

3.字典创建series

字典key变成了索引

>>> dictData ={1:"a",2:"b",3:"c",4:"d"}
>>> ser = pd.Series(dictData)
>>> ser
1    a
2    b
3    c
4    d
dtype: object

二.Pandas DataFrame

Pandas DataFrame是一种二维的数据结构,它类似于一个表格。可以包含任何类型的数据

基本结构如下

pandas.DataFrame( data, index, columns, dtype, copy)

参数数据如下

data:一组数据(各种类型)


index :索引


columns :列名称,(可以不写)默认0,1,2....


dtype :数据类型(可以不写)


copy: 拷贝数据,默认False(可以不写)
  1. 创建带columns的DataFrame
>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df
     name  score
0  python     10
1    java      9
2     c++      8
3      js      7

2.不带columns的DataFrame

>>> df2 = pd.DataFrame(data)
>>> df2
        0   1
0  python  10
1    java   9
2     c++   8
3      js


>>> data = [1,2,3,4,5,6]
>>> df3 = pd.DataFrame(data)
>>> df3
    0
0   1
1   2
2   3
3   4
4   5
5   6

三.常用函数

1.最大值df.max()

>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.max()
name     python
score        10
dtype: object
>>> 

2.最小值df.min()

>>> df.min()
name     c++
score      7
dtype: object

3.平均值df.mean()

>>> df["score"].mean()
8.5

4.查看前面几行df.head(n)

这个函数看表格的表头很有用

>>> df.head(2)
     name  score
0  python     10
1    java      9
>>>

5.查看最后面几行df.tail(n)

>>> df.tail(2)
  name  score
2  c++      8
3   js      7
>>>

6.显示基本的统计信息df.describe()

>>> df.describe()
           score
count   4.000000
mean    8.500000
std     1.290994
min     7.000000
25%     7.750000
50%     8.500000
75%     9.250000
max    10.000000
>>>

7.获取行数跟列数df.shape()

>>> df.shape
(4, 2)
>>>

8.查看DataFrame基本信息 df.info

>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 2 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   name    4 non-null      object
 1   score   4 non-null      int64 
dtypes: int64(1), object(1)
memory usage: 192.0+ bytes
>>> 

9.读取数据 pd.read_excel()

>>> ex = pd.read_excel(r"D:\code\test.xlsx")
>>> ex
     1  a
0  2.0  b
1  3.0  c
2  4.0  d
3  NaN  d

10.读取csv,txt都可以用df.read_csv()

>>> cv = pd.read_csv(r"D:\code\test.txt",sep=" ")
>>> cv
   a  1
0  b  2
1  c  3
2  d  4
3  e  5
>>> csv = pd.read_csv(r"D:\code\test.csv",sep=",")
>>> csv
   a  1
0  b  2
1  c  3
2  d  4
3  e  5

11.保存文件 df.to_excel()

>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.to_excel(r"D:\code\testSave.xlsx")

12.保存到txt

>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.to_csv(r"D:\code\savtTxt.txt")


总结

Pandas是一个强大的Python数据分析库,它提供了快速、灵活和富有表现力的数据结构,在工作中常用以下

  1. 读取excel数据进行统计分析,保存到表格
  2. 读取txt里面的数据,清洗过滤,统计分析,然后保存到表格
  3. Matplotlib结合使用把统计结果保存图片


以上只列举了很少的一部分功能,比如数据选择函数loc[]iloc[]at[]本文就没列举。

更多用法参考官方文档

https://pandas.pydata.org/


相关文章

第13天|16天搞定Python数据分析,geopandas

有人升级扩展Matplotlib图表,就会有人升级扩展pandas。好多人可能会认为扩展pandas的,必然是算法,可万万没想的竟然是地理空间,就问你惊不惊喜意不意外。GeoPandas是一个开源项目...

「Python数据分析」Pandas基础,数据选择重量级:query()方法

我们在利用布尔索引,进行数据选择的时候,需要深入理解逻辑操作符,也就是与或非操作。特别是布尔索引对行索引的处理,往往过于冗长和复杂,还需要注意行索引下标的起始位置。这对于非计算机专业的数据分析人员来说...

使用Python实现基因组数据分析 python分析基金数据

阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。如需转载请附上本文源链接!介绍基因组数据分析是生物信息学中的一个重要领域。通过分析基因组数据,我们可以揭示基因的功...