pandas基础 Series与Dataframe与numpy对二进制文件输入输出

pandas基础

什么是pandas?

pandas是一个开源的python数据分析库,它提供了快速、灵活和富于表现力的数据结构来操作结构化数据。pandas被广泛用于数据处理、数据清洗、数据分析和数据可视化等领域。

pandas中的主要数据结构

pandas中的主要数据结构有两种:Series和DataFrame。

Series

Series是一种一维的数据结构,与python中的列表非常相似。Series可以用来表示一列数据,比如一个csv文件中的一列。

Series中每个元素都会有一个整数索引,默认从0开始,也可以自定义标签索引,这样就可以用字符串或任何其他类型替代整数索引。

DataFrame

DataFrame是一种二维的数据结构,表示一个表格数据。在DataFrame中,每行表示一条记录,每列表示一种属性。DataFrame可以看作是由多个Series组成的。DataFrame中的每个元素都有一个标签索引。

pandas中的常用操作

使用pandas可以进行很多常用的数据处理操作,比如筛选、计数、排序、聚合等。

筛选

筛选可以使用loc和iloc两种方式,loc是根据标签名进行筛选,iloc是根据位置进行筛选。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'gender': ['female', 'male', 'male', 'male'],
        'age': [25, 30, 18, 21]}
df = pd.DataFrame(data)

# 筛选出gender为male的记录
male_records = df.loc[df['gender'] == 'male']
print(male_records)

输出:

      name gender  age
1      Bob   male   30
2  Charlie   male   18
3    David   male   21

计数

计数可以使用value_counts函数。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'],
        'gender': ['female', 'male', 'male', 'male', 'male'],
        'age': [25, 30, 18, 21, 30]}
df = pd.DataFrame(data)

# 计算每个name出现的次数
name_count = df['name'].value_counts()
print(name_count)

输出:

Bob        2
Alice      1
Charlie    1
David      1
Name: name, dtype: int64

排序

排序可以使用sort_values函数。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'gender': ['female', 'male', 'male', 'male'],
        'age': [25, 30, 18, 21]}
df = pd.DataFrame(data)

# 按age升序排序
df = df.sort_values('age')
print(df)

输出:

      name gender  age
2  Charlie   male   18
3    David   male   21
0    Alice   female 25
1      Bob   male   30

聚合

聚合可以使用groupby函数。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'],
        'gender': ['female', 'male', 'male', 'male', 'male'],
        'age': [25, 30, 18, 21, 30]}
df = pd.DataFrame(data)

# 按gender分组,计算每组年龄的最大值、最小值和平均值
grouped = df.groupby('gender')
agg_result = grouped['age'].agg(['max', 'min', 'mean'])
print(agg_result)

输出:

         max  min  mean
gender               
female 25   25
male   30   18  24.8

numpy对二进制文件的输入输出

numpy可以方便地进行二进制文件的输入输出,这里介绍如何使用numpy进行二进制文件数据的读取和保存。

读取二进制文件

可以使用numpy提供的load函数读取二进制文件。

import numpy as np

# 读取二进制文件
data = np.load('binary_file.npy')

print(data)

输出:

[1 2 3 4 5]

写入二进制文件

可以使用numpy提供的save函数保存数据到二进制文件。

import numpy as np

# 要写入的数据
data = np.array([1, 2, 3, 4, 5])

# 写入二进制文件
np.save('binary_file.npy', data)

写入成功后,可以使用之前介绍的load函数读取该文件。

import numpy as np

# 读取二进制文件
data = np.load('binary_file.npy')

print(data)

输出:

[1 2 3 4 5]

pandas与numpy对二进制文件的输入输出

pandas和numpy都可以方便地进行二进制文件的输入输出。

读取二进制文件

pandas中可以使用read_pickle函数读取二进制文件。

import pandas as pd

# 读取二进制文件
df = pd.read_pickle('binary_file.pkl')

print(df)

输出:

foo  bar
0   one  1
1   one  2
2   two  3
3   two  4

numpy中可以使用load函数读取二进制文件。

import numpy as np

# 读取二进制文件
data = np.load('binary_file.npy')

print(data)

输出:

[1 2 3 4 5]

写入二进制文件

pandas中可以使用to_pickle函数将数据保存到二进制文件。

import pandas as pd

# 要写入的数据
df = pd.DataFrame({'foo': ['one', 'one', 'two', 'two'],
                   'bar': [1, 2, 3, 4]})

# 写入二进制文件
df.to_pickle('binary_file.pkl')

写入成功后,可以使用之前介绍的read_pickle函数读取该文件。

import pandas as pd

# 读取二进制文件
df = pd.read_pickle('binary_file.pkl')

print(df)

输出:

foo  bar
0   one  1
1   one  2
2   two  3
3   two  4

numpy中可以使用save函数保存数据到二进制文件。

import numpy as np

# 要写入的数据
data = np.array([1, 2, 3, 4, 5])

# 写入二进制文件
np.save('binary_file.npy', data)

写入成功后,可以使用之前介绍的load函数读取该文件。

import numpy as np

# 读取二进制文件
data = np.load('binary_file.npy')

print(data)

输出:

[1 2 3 4 5]

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas基础 Series与Dataframe与numpy对二进制文件输入输出 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 浅谈python数据类型及类型转换

    这里是详细讲解“浅谈python数据类型及类型转换”的完整攻略。 一、Python数据类型 Python中常见的数据类型有以下几种: 1. 整型(int) Python中可以表示整数,例如:1, 2, 3, 4等等。整型是可以进行数值运算的。 2. 浮点型(float) 浮点型可以表示小数,例如:1.2, 3.5, 6.7等等。浮点型也是可以进行数值运算的。…

    python 2023年5月14日
    00
  • 如何在Pandas的数据透视表中包含百分比

    利用Pandas生成的数据透视表,我们可以方便地对数据进行分组、统计和分析。其中,包括了对每组数据的计数、求和等操作,但也可以计算每组数据的百分比。 下面是如何在 Pandas 的数据透视表中包含百分比的步骤: 在 DataFrame 中构建数据透视表 使用 Pandas 的 pivot_table 函数,可以快速创建数据透视表。在这里我们需要至少两个参数:…

    python-answer 2023年3月27日
    00
  • 将NumPy数组转换为Pandas序列

    将NumPy数组转换为Pandas序列的过程十分简单,只需按照以下步骤执行即可。 导入需要使用的库 在执行代码之前,需要导入需要使用的NumPy和Pandas库。在Python代码中,可以按照以下的方式导入: import numpy as np import pandas as pd 创建NumPy数组 在转换NumPy数组为Pandas序列之前,需要先创…

    python-answer 2023年3月27日
    00
  • pandas 使用insert插入一列

    要在pandas的DataFrame对象中插入一列,可以使用insert()方法。insert()方法需要传入三个参数:需要插入的位置、新列的名称、新列的数据。 具体地,可以按如下步骤进行操作: 创建一个DataFrame对象 在这里,我们先创建一个包含学生姓名、班级、语文、数学和英语成绩的DataFrame对象: import pandas as pd d…

    python 2023年5月14日
    00
  • python杀死一个线程的方法

    当使用Python创建一个线程的时候,有时候需要中断这个线程,此时需要使用Python的同步原语同时配合Python的一些API实现线程中断。 下面是Python杀死一个线程的方法攻略: 原理 通过设置标志位,让线程在执行时依据标志位自行退出,这样达到了杀死线程的目的。 方案 实现线程的安全中断具体可以分为以下两个步骤: 1. 设定标志位 首先,在需要中断线…

    python 2023年5月14日
    00
  • 10分钟快速入门Pandas库

    10分钟快速入门Pandas库 Pandas是Python中一个强大的数据分析库,它能够轻松地处理和分析大量的数据。在这篇文章中,我们将探索如何在10分钟内快速入门Pandas库。 安装Pandas 在开始之前,我们需要确保Pandas库已经被安装在我们的本地机器上。可以使用下面的命令进行安装: pip install pandas 导入Pandas库 安装…

    python 2023年5月14日
    00
  • Pandas数据框架中的重新索引

    重新索引是Pandas数据框架中的一个重要操作,可以让我们根据需要重新排序DataFrame中的行、列或者元素,或者新增或删除行、列。下面我将为大家详细介绍Pandas数据框架中的重新索引的攻略。 基本概念 在Pandas数据框架中,重新索引(reindex)是指将已有的数据从原始数据的Index序列中取出,按照新的Index序列重新排列的操作。具体而言,就…

    python-answer 2023年3月27日
    00
  • python获取Pandas列名的几种方法

    Python语言中,Pandas是一种开源的数据分析工具,常用于数据预处理、数据清洗、数据分析等领域。在进行数据分析过程中,常需要获取Pandas数据列名作为分析的参考,本文将详细讲解Python获取Pandas列名的几种方法。 1. 使用.columns方法获取列名 Pandas中提供了.columns方法可以方便地获取数据的列名。具体方法如下: impo…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部