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日

相关文章

  • 按标签名称或按索引位置在DataFrame中删除列

    删除列是数据分析中常用的操作之一,Pandas提供了按标签名称或按索引位置删除列的方法,下面是详细的攻略: 按标签名称删除列 按标签名称删除列可以通过DataFrame的drop方法实现,具体步骤如下: 确定要删除的列的标签名称是什么,例如我们要删除列名为col1的列; 使用drop方法删除列,其中参数labels传入一个列表,包含要删除的列标签名称,参数a…

    python-answer 2023年3月27日
    00
  • Pandas 对多个数值进行分组并绘制结果

    Pandas是一个Python库,用于数据分析、数据挖掘、数据清洗和数据操作等,它功能强大、易于使用。在这里我们讲解如何对多个数值进行分组并绘制结果。 步骤1:导入必要的库 在使用Pandas进行数据操作之前,需要先导入相关库: import pandas as pd import numpy as np import matplotlib.pyplot a…

    python-answer 2023年3月27日
    00
  • pandas 对series和dataframe进行排序的实例

    下面是关于“pandas对series和dataframe进行排序的实例”的完整攻略: 1. Series排序实例 1.1 构建Series对象 首先我们需要构建一个Series对象,假设我们有一个学生成绩的列表,其中包括语文、数学和英语三个科目的成绩,我们可以使用pandas的Series对象来保存这些数据: import pandas as pd sco…

    python 2023年5月14日
    00
  • 在Python中使用pandas.DataFrame.to_stata()函数导出DTA文件

    当我们拥有一个用pandas DataFrame类型表示的数据集时,我们可以使用to_stata()函数来将其导出为DTA文件。下面就是使用pandas.DataFrame.to_stata()函数导出DTA文件的完整攻略: 第一步:导入必要的库 import pandas as pd 第二步:生成DataFrame数据 我们使用一个具有以下列名的模拟数据。…

    python-answer 2023年3月27日
    00
  • Python Pandas学习之数据离散化与合并详解

    Python Pandas学习之数据离散化与合并详解 什么是数据离散化 数据离散化是指将连续型数据按照一定的方法划分为离散型数据的过程。例如,我们可以将一组年龄数据按照一定的划分标准,划分为儿童、青少年、成年人和老年人等几个离散的类别。 数据离散化的原因 数据离散化常常是为了更好的进行数据分析和建模,例如: 减小噪声的影响 降低数据复杂度,简化模型 方便进行…

    python 2023年5月14日
    00
  • 由Python编写的MySQL管理工具代码实例

    下面我将详细讲解“由Python编写的MySQL管理工具代码实例”的完整攻略。 简介 MySQL是当前最流行的关系型数据库之一,为了更简单高效地管理MySQL,可以使用Python编写MySQL管理工具,具备数据备份、数据恢复、数据迁移、数据比对等功能,方便管理人员更好地操作MySQL数据库。 开发环境准备 在开始编写MySQL管理工具之前,我们需要进行开发…

    python 2023年6月13日
    00
  • 在Python Pandas中原地填入多列数据

    Python Pandas中原地填入多列数据有多种方式,本文将讲解以下几种方式: 使用assign方法 使用loc方法 使用iloc方法 以下是详细说明。 使用assign方法 使用assign方法可以在原有的DataFrame上面直接添加新的列,同时返回一个新的DataFrame,以便在后续的数据处理中使用。可以通过如下代码进行使用: import pan…

    python-answer 2023年3月27日
    00
  • Pandas数据处理加速技巧汇总

    Pandas数据处理加速技巧汇总 在处理大量数据时,很容易因为算法效率低下而导致程序运行缓慢。本篇文章将介绍一些针对Pandas数据处理的加速技巧,帮助你更快地完成数据处理任务。 1. 使用eval() eval() 函数是 Pandas 用于高效解析 Pandas 表达式的函数。例如,要在 Pandas DataFrame 中选择 x > 1的行,可…

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