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日

相关文章

  • 如何从Pandas数据框架中绘制多个序列

    要从Pandas数据框架中绘制多个序列,需要运用Matplotlib这个Python数据可视化库。 以下是从Pandas数据框架中绘制多个序列的完整攻略: 导入需要的库: import pandas as pd import matplotlib.pyplot as plt 创建数据框架 可以通过读取csv、excel等文件方式建立数据框架,这里以手动创建一…

    python-answer 2023年3月27日
    00
  • 在Pandas中导入csv文件的不同方法

    在Pandas中,我们可以使用不同的方法导入CSV格式的数据文件,以下是常用的几种方法: 方法一: 使用read_csv()函数 read_csv() 是 Pandas 中用于读取 CSV 文件的常用函数。使用这个函数,我们可以轻松地将 CSV 格式的数据读入 Pandas 的 DataFrame 数据结构中。 import pandas as pd # 从…

    python-answer 2023年3月27日
    00
  • 如何使用 Pandas 的分层索引

    Pandas的分层索引(Hierarchical Indexing)可以让我们在一个轴上拥有多个索引级别,这样可以更加灵活方便地表示多维数据。 一、创建分层索引 在 Pandas 中创建分层索引的方式很多,最常用的方法是通过在创建DataFrame或者Series时传入元组列表。 下面以DataFrame为例,通过传入元组列表创建一个 3 x 3 的分层索引…

    python-answer 2023年3月27日
    00
  • Python 绘图和可视化详细介绍

    Python 绘图和可视化详细介绍 为什么需要数据可视化 在数据分析和探索的过程中,很多时候我们需要将数据可视化来更好地理解数据,发现数据的特点和规律。数据可视化让复杂的数据变得更加易懂和易于交流,能够支持更好的数据驱动决策。 绘图和可视化库 Python中有多个绘图和可视化库,其中较为流行的包括: matplotlib:基础图形库,支持折线图、散点图、柱状…

    python 2023年6月13日
    00
  • 切片、索引、操作和清理Pandas数据框架

    下面我将详细讲解切片、索引、操作和清理Pandas数据框架的完整攻略,同时提供实例说明。首先,我们来了解一下Pandas数据框架的基本概念和结构。 Pandas数据框架基本概念和结构 Pandas是一种流行的Python数据处理库,其最重要的特点是支持高效、方便地进行结构化数据操作和分析。其中最常用的数据结构是DataFrame,它类似于Excel中的一个表…

    python-answer 2023年3月27日
    00
  • pandas时间序列之如何将int转换成datetime格式

    当我们使用pandas对时间序列数据进行分析时,常常需要将整型数据表示的时间转化为datetime格式,以实现更精确的数据分析。 这里提供一种将int转换为datetime的方法: 首先需要引入pandas库和datetime库: import pandas as pd from datetime import datetime 其次,我们需要定义一个转换函…

    python 2023年5月14日
    00
  • Pandas中的布尔索引

    Pandas中的布尔索引是一种通过布尔值来筛选数据的方法。布尔索引可以使用一个布尔值数组,它的长度必须与要筛选的轴(axis)长度一致,以此来选择DataFrame或Series中符合某些条件的行或列。接下来,我们将详细介绍Pandas中使用布尔索引的完整攻略,包括使用布尔索引来过滤数据的步骤,并使用实例进一步说明。 步骤 使用布尔索引来过滤数据,需要遵循以…

    python-answer 2023年3月27日
    00
  • Pandas和PostgreSQL之间的区别

    Pandas是一款Python数据分析库,主要用于数据解析、数据清洗、数据统计和建模等。它提供了高效的数据操作与分析接口,支持众多的数据输入输出格式,例如CSV、Excel、SQL等。Pandas提供了Series和DataFrame两种数据结构,它们是数据操作与统计的基础。 PostgreSQL是一款高性能的开源关系型数据库管理系统,它与传统的关系型数据库…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部