python pandas基础数据操作

python pandas基础数据操作

0 背景

python pandas基础数据操作

之前刚好有看到WPS支持Python了: WPS支持python, 因此终于可以使用python对数据进行处理了, 同时也可以使用pandas , numpy语法, 因此, 本文主要借助WPS平台对数据进行一些基本的查询操作, 熟悉一些pandas语法。

Python的Pandas库是一种功能强大的数据分析和处理工具,非常适合用于数据科学和统计领域。以下是Pandas的一些核心特点和功能:

  1. 数据结构DataFrame:一个二维数据结构,类似于Excel表格或SQL表,可以存储不同类型的列。Series:单列的数据结构,每个DataFrame都由一个或多个Series组成。
  2. 数据读取与写入:支持多种格式的数据读取和写入,如CSV、Excel、JSON、HTML和SQL等。
  3. 数据清洗和预处理:提供丰富的功能来处理缺失数据、重复数据、数据过滤、转换和数据标准化。
  4. 数据探索与分析:支持数据排序、分组(groupby)、数据合并与连接。提供便捷的数据统计和聚合方法,如计算均值、中位数、标准差等。
  5. 数据可视化:可以与Matplotlib等库结合使用,方便地进行数据的图形化展示。
  6. 时间序列分析:强大的时间序列数据处理能力,包括日期范围生成、频率转换、移动窗口统计等。
  7. 扩展性:可以与多种Python数据科学库结合使用,如NumPy、SciPy、Scikit-learn等。

Pandas的这些特性让它成为处理和分析结构化数据的首选工具之一。

1 使用

本文基于WPS平台, 自带了pandas的包, 若在python中使用, 需额外安装:

pip install pandas

案例数据如下:

python pandas基础数据操作

在WPS中初始化数据:

df = xl("$A$1:$G$18", headers=True, sheet_name="工作表1")
# 设置索引为uid列
df.set_index('uid',inplace=True)
print(df.head())

我们进行一些查询数据的操作:

获取单列

name_column = df['uname']
# print(name_column)

获取多列

subset = df[['uname''ucity']]

获取单列(在不知道列名的情况下, 通过位置获取第1列)

name_column = df.iloc[:,0]
# print(name_column)

获取多列(在不知道列名的情况下, 通过位置获取第1-3列)

# 获取多列(在不知道列名的情况下, 通过位置获取第1-3列)
subset = df.iloc[:,0:3]
# print(subset)

获取单行(通过索引)

# 本案例索引是从1开始的
first_row = df.loc[1]
# print(first_row)

获取单行(通过位置第n行, 不通过索引)

# 获取单行(通过位置第几行, 不通过索引)
first_row = df.iloc[0]
# print(first_row)

获取多行(通过索引)

# 获取多行(通过索引)
many_rows = df.loc[1:3]
# print(many_rows)

获取多行(通过位置第n行到第m行, 不通过索引)

# 获取多行(通过位置第几行到第几行, 不通过索引)
many_rows = df.iloc[0:3]
# print(many_rows)

自定义获取多行(通过自定义的一个标签列表,获取这些标签对应的行)

# 自定义获取多行(通过自定义的一个标签列表,获取这些标签对应的行)
labels = [1210]  
many_rows = df[df.index.isin(labels)]
# print(many_rows)

通过判断条件过滤行

# 通过判断条件过滤行
filtered_rows = df[df['uage'] > 30]
# print(filtered_rows)

通过位置获取多行和多列

# 通过位置获取多行和多列
many_rows = df.iloc[0:31:3]
# print(many_rows)

通过索引获取多行, 列名获取多列

# 通过索引获取多行, 列名获取多列
selected_data = df.loc[3:9, ['uname''usex''ucity']]
# print(selected_data)

通过位置获取多行, 列名获取多列

# 通过位置获取多行, 列名获取多列
# 先获取索引所在的列
column_index = df.columns.get_indexer(['uname''usex''ucity'])
selected_data_by_position = df.iloc[2:9, column_index]
print(selected_data_by_position)

通过索引获取多行, 位置获取多列

# 通过索引获取多行, 位置获取多列
selected_data_by_index = df.iloc[2:91:4]
print(selected_data_by_index)

获取列名

# 获取列名
columns = df.columns

获取形状(行数和列数)

# 获取形状(行数和列数)
shape = df.shape
print(shape)

# (17, 6)

获取索引

# 获取索引
index = df.index

获取描述统计信息

# 获取描述统计信息
stats = df.describe()
stats = df['uage'].describe()
# stats = df[['uname', 'ucity']].describe()
print(stats)

2 关于

欢迎关注我的微信公众号


原文始发于微信公众号(其之):python pandas基础数据操作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/204814.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!