python pandas基础数据操作
0 背景
之前刚好有看到WPS支持Python了: WPS支持python, 因此终于可以使用python对数据进行处理了, 同时也可以使用pandas
, numpy
语法, 因此, 本文主要借助WPS平台对数据进行一些基本的查询操作, 熟悉一些pandas语法。
Python的Pandas库是一种功能强大的数据分析和处理工具,非常适合用于数据科学和统计领域。以下是Pandas的一些核心特点和功能:
-
数据结构:DataFrame:一个二维数据结构,类似于Excel表格或SQL表,可以存储不同类型的列。Series:单列的数据结构,每个DataFrame都由一个或多个Series组成。 -
数据读取与写入:支持多种格式的数据读取和写入,如CSV、Excel、JSON、HTML和SQL等。 -
数据清洗和预处理:提供丰富的功能来处理缺失数据、重复数据、数据过滤、转换和数据标准化。 -
数据探索与分析:支持数据排序、分组(groupby)、数据合并与连接。提供便捷的数据统计和聚合方法,如计算均值、中位数、标准差等。 -
数据可视化:可以与Matplotlib等库结合使用,方便地进行数据的图形化展示。 -
时间序列分析:强大的时间序列数据处理能力,包括日期范围生成、频率转换、移动窗口统计等。 -
扩展性:可以与多种Python数据科学库结合使用,如NumPy、SciPy、Scikit-learn等。
Pandas的这些特性让它成为处理和分析结构化数据的首选工具之一。
1 使用
本文基于WPS平台, 自带了pandas
的包, 若在python中使用, 需额外安装:
pip install 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 = [1, 2, 10]
many_rows = df[df.index.isin(labels)]
# print(many_rows)
通过判断条件过滤行
# 通过判断条件过滤行
filtered_rows = df[df['uage'] > 30]
# print(filtered_rows)
通过位置获取多行和多列
# 通过位置获取多行和多列
many_rows = df.iloc[0:3, 1: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:9, 1: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