详细介绍Python-pandas-DataFrame全部 *功能* 函数
Python-pandas-DataFrame全部 功能 函数
提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是pandas的使用语法。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每个知识点,都是写出代码和运行结果且前后关联上的去分析和说明(能大量节约您的时间)。
所有文章都不会直接把代码放那里,让您自己去看去理解。我希望我的内容对您有用而努力~
python语法-pandas第三节-附 :本小节是 DataFrame全系列分享(使用.特点.说明.外部文件数据.取值.功能函数.统计函数)的DataFrame 全部 功能 函数
详细的 DataFrame:
链接: DataFrame全系列分享(使用.特点.说明.语法.外部文件数据.取值.功能函数.统计函数.增删改查)
【上榜文章】一文搞定DataFrame,非常详细的Python-Pandas - DataFrame全系列分享。大量案例且晦涩难懂的有大白话解释。详细的扩展内容也额外写了其他更加细节全面的文章链接在里面,来保证DataFrame的全部内容,本文就是其中一个扩展篇 : **功能函数篇**
文章目录
- Python-pandas-DataFrame全部 *功能* 函数
- 一、功能函数附录
- 二、示例代码
- 总结
一、功能函数附录
方法名称 | 功能描述 |
---|---|
head(n) | 返回 DataFrame 的前 n 行数据(默认前 5 行) |
tail(n) | 返回 DataFrame 的后 n 行数据(默认后 5 行) |
info() | 显示 DataFrame 的简要信息,包括列名、数据类型、非空值数量等 |
describe() | 返回 DataFrame 数值列的统计信息,如均值、标准差、最小值等 |
shape | 返回 DataFrame 的行数和列数(行数, 列数) |
columns | 返回 DataFrame 的所有列名 |
index | 返回 DataFrame 的行索引 |
dtypes | 返回每一列的数值数据类型 |
sort_values(by) | 按照指定列排序 |
sort_index() | 按行索引排序 |
dropna() | 删除含有缺失值(NaN)的行或列 |
fillna(value) | 用指定的值填充缺失值 |
isnull() | 判断缺失值,返回一个布尔值 DataFrame |
notnull() | 判断非缺失值,返回一个布尔值 DataFrame |
loc[] | 按标签索引选择数据 |
iloc[] | 按位置索引选择数据 |
at[] | 访问 DataFrame 中单个元素(比 loc[] 更高效) |
iat[] | 访问 DataFrame 中单个元素(比 iloc[] 更高效) |
apply(func) | 对 DataFrame 或 Series 应用一个函数 |
applymap(func) | 对 DataFrame 的每个元素应用函数(仅对 DataFrame) |
groupby(by) | 分组操作,用于按某一列分组进行汇总统计 |
pivot_table() | 创建透视表 |
merge() | 合并多个 DataFrame(类似 SQL 的 JOIN 操作) |
concat() | 按行或按列连接多个 DataFrame |
to_csv() | 将 DataFrame 导出为 CSV 文件 |
to_excel() | 将 DataFrame 导出为 Excel 文件 |
to_json() | 将 DataFrame 导出为 JSON 格式 |
to_sql() | 将 DataFrame 导出为 SQL 数据库 |
query() | 使用 SQL 风格的语法查询 DataFrame |
duplicated() | 返回布尔值 DataFrame,指示每行是否是重复的 |
drop_duplicates() | 删除重复的行 |
set_index() | 设置 DataFrame 的索引 |
reset_index() | 重置 DataFrame 的索引 |
transpose() | 转置 DataFrame(行列交换) |
二、示例代码
这里代码直接开始演示分享功能函数的使用
(可能不会DataFrame的萌新小白,会看晕),如:DataFrame不同语法声明,DataFrame取值或者交叉取值(增删改查)。及DataFrame的特点和语法什么的,此篇文章就不写了。因为不然就重复了。可以点击文章开头的那个链接去查看(那个链接的文章里面又往外扩了很多针对性的不同 更加细节文章[如本文]。来 帮助掌握理解DataFrame。)
import pandas as pd
# 创建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)# 查看前两行数据
print(df.head(2)) #当前一共四行#tail(n) 后几行,和这里很像
import pandas as pd
# 创建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)# 查看 DataFrame 的基本信息
print(df.info())# 获取描述统计信息
print(df.describe())#shape 和上面两个使用一样,您输出看一下就明白了(我篇幅太长了) 形状就是 x*x 的表格,如2*3 2行3列
import pandas as pd
# 创建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)
#返回所有列名
print(df.columns)
#返回所有行索引
print(df.index)#dtypes 返回数据类型
import pandas as pd
# 创建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)
# 按年龄排序
df_sorted = df.sort_values(by='age', ascending=False)
print(df_sorted)#sort_index 行索引排序
#当前我没有指定行索引(默认从0开始,目前代码行索引排序没意义)
#可以指定某列数据为行索引[时间日期] 指定声明注意啥的。真的~查阅文章开头那个文章,很全的,时间为行索引有案例。这里没法写
# 处理缺失值(填充缺失值)
df['age'] = df['age'].fillna(30)#如果age列某一行没有数据,就用30来填充
#填充完毕:print(df) 可以看一下。如果有空的就补充上了30
常用,至于补充多少看需求。可能是0。因为一般数字列会使用统计函数,空值会影响结果的
(统计函数 [最大最小和值平均] 全部内容在另一个文章里面)
如:
# 计算分组统计(按城市分组,计算平均年龄)
print(df.groupby('city')['age'].mean())#大概一提:没那么复杂,前半句.groupby('city')按城市分组。后半句['age'].mean()
#mean就是统计函数函数的知识点,然后配合了取值语法。
#对吧~ 这里可能感觉 我刚刚说:(可能不会DataFrame的萌新小白,会看晕),如:.....
==============================
后面的,全是重复的(和其他文章重复)
#取值
#loc[]
#iloc[] #concat()
#合并# 导出文件
#df.to_csv('output.csv', index=False)
真不是我偷懒,怎么可能偷懒
取值?我是写了大量案例,放到全系列DataFrame里面的。全系列DataFrame文章也是从介绍到画图理解,到简介语法,到xxxxx。最后到了取值,写了大量取值。。。。最后额外单写了一篇链接,在全系列DataFrame里面
。
看链接: DataFrame取值–.loc[]、.iloc[] 具体的操作及详细语义和语法说明
然后
后面的函数,全部重复了。
全系列DataFrame是从0到全部。有分享逻辑顺序,遇到报错(甚至有专门报错的额外篇),遇到xxx(有专门xxx的额外篇)
csv ,json , execl 导入导出 应有尽有
现在方法df.to_csv(‘output.csv’, index=False)演示没有意义了。
看链接: 操作csv文件(读取数据/写入数据)及csv语法详细分享
总结
如果哪个本文函数,找不到案例或者还是明白,可以评论。我改~改文章(加一段)
(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。ღ( ´・ᴗ・` )比心)
(也欢迎评论,提问。 我会依次回答~)