Python自动化办公:pandas入门教程

Python自动化办公:pandas入门教程

在后台回复【阅读书籍】

即可获取python相关电子书~

Hi,我是山月。

今天给大家带来一个强大的朋友:pandas。如果你有许多数据分析任务的话,那你一定不能错过它。

由于它的内容比较多,因此会分成几部分来讲解,今天只来讲解下入门教程,有兴趣的话可以多加关注哦~

官网:https://pandas.pydata.org/

如果需要 pdf版官方文档的话,可以在后台回复【 pandas文档】来获取哦~

安装:pip install pandas

导入pandas:

import pandas as pd # 一般命名为pd

查看 pandas 版本:

import pandas as pd
pd_version = pd.__version__  # 查看版本
print(pd_version)   # 1.1.5

01

DataFrame和Series

DataFrame和Series是pandas非常基础也是非常重要的两个概念。

1、DataFrame

要将数据存储在表中,需要创建一个 DataFrame,它的数据是一个值为列表的字典。

字典的键用作列标题,每个列表中的值将用作 DataFrame 的列。

DataFrame 是一种二维数据结构,可以在列中存储不同类型的数据(包括字符、整数、浮点值、分类数据等)。

如:

import pandas as pd # 一般命名为pd

df = pd.DataFrame(
    {
        "Name": [
            "Braund, Mr. Owen Harris",
            "Allen, Mr. William Henry",
            "Bonnell, Miss. Elizabeth",
        ],
        "Age": [22, 35, 58],
        "Sex": ["male", "male", "female"],
    }
)

print(df)

'''
                       Name  Age     Sex
0   Braund, Mr. Owen Harris   22    male
1  Allen, Mr. William Henry   35    male
2  Bonnell, Miss. Elizabeth   58  female

'''

2、Series

DataFrame 中的每一列都是一个Series。因此Pandas里选择DataFrame 的单列时,结果是Series。

如果你想要选择单列,可以在方括号 [] 里添加要选择列的列标签。

print(df["Age"])

'''
0    22
1    35
2    58
Name: Age, dtype: int64
'''

如果想从头开始创建Series:

import pandas as pd # 一般命名为pd

ages = pd.Series([22, 35, 58], name="Age")
print(ages)

'''
0    22
1    35
2    58
Name: Age, dtype: int64
'''

Series没有列标签,因为它只是 DataFrame 的一列,但Series有行标签。

3、使用 DataFrame 或 Series

pandas 提供了很多功能,每个功能都是可以应用于 DataFrame 或 Series 的方法(由于方法是函数,所以不要忘记使用括号 )。

其中max() 方法可以求出一列数据里的最大值。

比如在 DataFrame 上求出最大年龄:

import pandas as pd # 一般命名为pd

df = pd.DataFrame(
    {
        "Name": [
            "Braund, Mr. Owen Harris",
            "Allen, Mr. William Henry",
            "Bonnell, Miss. Elizabeth",
        ],
        "Age": [22, 35, 58],
        "Sex": ["male", "male", "female"],
    }
)

print(df["Age"].max())      # 58

在Series上求出最大年龄:

import pandas as pd # 一般命名为pd

ages = pd.Series([22, 35, 58], name="Age")
print(ages.max())   #58

02

读取和写入表格数据

1、读取

pandas 提供了 read_csv() 函数来将存储为 csv 文件的数据读取到 pandas DataFrame 中。

pandas 支持许多不同的文件格式或开箱即用的数据源(csv、excel、sql、json、parquet 等),每一个都带有前缀 read_*。

如:

titanic = pd.read_csv("titanic.csv")
titanic = pd.read_excel("titanic.xlsx", sheet_name="passengers")

要查看 DataFrame 的前 N 行,可以使用 head() 方法,并将所需的行数(如 2)作为参数:

titanic.head(2)

可以通过请求dtypes 属性来检查 pandas 如何解释每列的数据类型:

titanic.dtypes

数据类型有整数(int64)、浮点数(float64)和字符串(object)。

2、存储

to_* 方法可以用于存储数据。

to_excel() 方法将数据存储为 excel 文件:

titanic.to_excel("titanic.xlsx", sheet_name="passengers", index=False) #index=False 行索引标签不会保存在电子表格中

方法 info() 提供 DataFrame 的技术信息,可以让我们更详细地解释输出:

titanic.info()

3、实例

`go
import pandas as pd # 一般命名为pd

df = pd.DataFrame(
    {
        “Name”: [
            “Braund, Mr. Owen Harris”,
            “Allen, Mr. William Henry”,
            “Bonnell, Miss. Elizabeth”,
        ],
        “Age”: [22, 35, 58],
        “Sex”: [“male”, “male”, “female”],
    }
)

df.to_excel(“titanic.xlsx”, sheet_name=”passengers”, index=False) #保存成excel

titanic = pd.read_excel(“titanic.xlsx”, sheet_name=”passengers”) # 读取excel
print(titanic.head(2)) #查看表格前两行数据
print(‘——-‘)
print(titanic.dtypes) #查看每列的数据类型
print(‘——-‘)
print(titanic.info()) #查看DataFrame 的技术信息

”’
                       Name  Age   Sex
0   Braund, Mr. Owen Harris   22  male
1  Allen, Mr. William Henry   35  male

RangeIndex: 3 entries, 0 to 2        
Data columns (total 3 columns):      
 #   Column  Non-Null Count  Dtype   

Original: https://blog.csdn.net/qq_45464895/article/details/123836334
Author: 是山月呀
Title: Python自动化办公:pandas入门教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675455/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球