Pandas简单操作(学习总结)

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),是一个提供高性能、易于使用的数据结构和数据分析工具。


接下来查看Pandas的基本使用:

 ⭐ 文件的基本操作

# 导入模块
import pandas as pd
import numpy as np

 

# 读取文件
stu = pd.read_excel('./stu_data.xlsx')
stu.head()

Pandas简单操作(学习总结)

 

 

# 查看数据 (数据类型,是否有空值)
stu.info()

Pandas简单操作(学习总结)

 

 

# 转换数据类型
stu['日期'] = stu['日期'].astype('str')
stu.info()

Pandas简单操作(学习总结)

 

 ⭐ 切片操作

# iloc or loc切片 (学号,身高,体重)
stu.iloc[:,[0,2,3]]  # 获取学号,身高,体重,所有行信息
stu.loc[5:10,['学号','身高','体重'] ]

Pandas简单操作(学习总结)

 

查询操作

# sql查询语言 身高高于170   性别是女
stu.query('身高 > 170 and 性别 == "女"')
# pandas查询
stu[ (stu['身高'] > 170) & (stu['性别'] ==  "") ]

Pandas简单操作(学习总结)

 

 

# 通过索引号获取信息
stu.query('10')

Pandas简单操作(学习总结)

 

排序操作

stu['身高'].sort_values() # 默认正序
stu['身高'].sort_values(ascending=False) # 默认正序

Pandas简单操作(学习总结)

 

分组操作

# 按课程分组,查看分组里面的数据
stu = stu.groupby('课程')
stu.groups

Pandas简单操作(学习总结)

 

 

# 查看分组描述
stu.describe()

Pandas简单操作(学习总结)

 

 

# 分组汇总
# stu.agg(['mean','std']) # 分组后每一列的均值和标准差
print(stu.身高.agg(max))

Pandas简单操作(学习总结)

 

 ⭐ 数值变量分段

stu = pd.read_excel('./stu_data.xlsx')
stu['新体重'] = pd.cut(stu.体重,bins=[40,50,60,70,80,90],right=False)
stu.head()

Pandas简单操作(学习总结)

 

时间拆分

# stu.日期
stu['年份'] = stu.日期.dt.year
stu['月份'] = stu.日期.dt.month
stu['天数'] = stu.日期.dt.day
stu.head()

Pandas简单操作(学习总结)

 

# Period 日期转换想要的格式
stu["日期"].apply(lambda x:pd.Period(x,freq='H')) # 保留到小时
stu["日期"].apply(lambda x:pd.Period(x,freq='M')) # 保留到月份

Pandas简单操作(学习总结)

 

 

表连接

# 创建新Series对象
stu1 = pd.Series(np.arange(12345678900,12345678952),name='手机号')
stu1

Pandas简单操作(学习总结)

 

 

# 合并表
stu3 = pd.concat([stu,stu1],axis=1) stu3.head()

Pandas简单操作(学习总结)

 
# join表连接
dict1 = {
    'employee_id':['NC001','NC002','NC003','NC004'],
    'name':['zs','lian','ls','wu'],
    'sex':['m','f','f','m'],
    'department':['php','python','c++','java'],
    'item_id':['N100','N103','N103','N100'],
}
dict2 = {
    'item_id':['N100','N102','N103','N104'],
    'item_name':['php','python','c++','java'],
    'location':['SZ','SH','BJ','GZ']
}
items = pd.DataFrame(dict2)
signup = pd.DataFrame(dict1)
print(signup)
print(items)

Pandas简单操作(学习总结)

 

 

# join合并表,只输出报名人数不为0的项目及其对应的报名人数
df = items.set_index('item_id').join(signup.set_index('item_id'), on='item_id', how='inner') 
df.groupby('item_name')['employee_id'].count()

Pandas简单操作(学习总结)


⭐ mode()函数的使用
# Pandas dataframe.mode()函数获取沿所选轴的每个元素的模式。
# 获取身高的众数,并返回对应的身高值
import pandas as pd
Nowcoder = pd.read_excel('./stu_data.xlsx',sheet_name='BSdata')
Nowcoder.head()
Nowcoder.loc[:,['身高']].mode()

Pandas简单操作(学习总结)

 

 ⭐ 修改索引

# 修改索引
df1 = Nowcoder[Nowcoder['身高'] == 169].sort_values('支出',ascending=False).head(5)
 print(f"原索引为:{df1.index}")
df1.index = ['0','1','2','3']
df1

Pandas简单操作(学习总结)

 

 

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas简单操作(学习总结) - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 链表的知识总结

    链式结构内存不连续的,而是一个个串起来的,每个链接表的节点保存一个指向下一个节点的指针。 ⭐ 链式结构包含:node(节点)还有value(值),由于内存不连续的,那么对于数据的插入,只需找到一个节点便可以插入数据,这也是链表优于列表的一个优点,反之,对于数据的删除,由于不是连续的,不能通过索引删除数据,只能一一遍历删除元素。   ⭐ 接下来上代码 单链表的…

    2023年4月2日
    00
  • 获取字典中values值中最大的数,返回对应的keys

    1.字典中键值对的获取 print(data.values()) # 查看字典的值 print(data.keys()) # 查看字典的key 2.对字典中的值进行排序 sorted(data.values()) sorted(data.values(),reverse=True) # 倒序 3.实操练习:获取字典中values值中最大的数,返回对应的key…

    2023年4月2日
    00
  • Python 字符串的常用方法

    Python 包含6种数据类型,其中Number(数字)、String(字符串)、Tuple(元组)、 List(列表)、Dictionary(字典)、Set(集合); 这节主要讲字符串,它的本质是:字符序列。Python 的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。Python 不…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部