IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 『Python核心技术与实战』pandas.DataFrame()函数介绍 -> 正文阅读

[人工智能]『Python核心技术与实战』pandas.DataFrame()函数介绍

pandas.DataFrame()函数介绍!

  • DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。DataFrame的单元格可以存放数值、字符串等,这和excel表很像,同时DataFrame可以设置列名columns与行名index

一. 创建DataFrame

1.1. numpy创建

  • 使用numpy函数创建: index和columns这两个参数是可选的,你可以选择不设置,而且这两个list是可以一样的。
import pandas as pd
import numpy as np

print(list("abc"))
df1 = pd.DataFrame(np.random.randn(3, 3), index=list("abc"), columns=list("ABC"))

1.2. 直接创建

  • 直接创建:
df2 = pd.DataFrame([[1, 2, 3],
                    [2, 3, 4],
                    [3, 4, 5]], index=list("abc"), columns=list("ABC"))

1.3. 字典创建

  • 使用字典创建:
import pandas as pd
import numpy as np

dict1 = {"name":["张三", "李四", "王二"],
         "age":[22, 44, 35],
         "gender":["男", "女", "男"]}
df3 = pd.DataFrame(dict1)

二. DataFrame属性

2.1. 查看列的数据类型

df3.dtypes

2.2. 查看DataFrame的头尾

  • 使用head可以查看前几行的数据,默认的是前5行,不过也可以自己设置。
  • 使用tail可以查看后几行的数据,默认也是5行,参数可以自己设置。
import numpy as np
import pandas as pd
data = np.random.randn(6, 4)
df = pd.DataFrame(data, index=list("abcdef"), columns=list("ABCD"))
# df.head()
df.head(2)
# df.tail() 
df.tail(2)

2.3. 查看行名与列名

df.index
df.columns

2.4. 查看数据值.values

  • 使用values可以查看DataFrame里的数据值,返回的是一个ndarray(转成numpy类型)。
df.values
  • 比如说查看某一列所有的数据值。
df['B'].values
  • 如果查看某一行所有的数据值。使用iloc查看数据值(但是好像只能根据行来查看?),iloc是根据数字索引(也就是行号)。
df.iloc[0]

2.5. 查看行列数

df.shape[0]
df.shape[1]
df.shape

2.6. 切片和索引

  • 使用冒号进行切片。
  • 切片表示的是行切片
  • 索引表示的是列索引

三. DataFrame操作

3.1. 转置

  • 直接字母T,线性代数上线。

3.2. 描述性统计

df.describe()
  • 如果有的列是非数值型的,那么就不会进行统计。
  • 如果想对行进行描述性统计,转置后再进行describe。

3.3. 运算之求和、数乘及平方

  • 使用sum()默认对每列求和,sum(1)为对每行求和。
df.sum()   # sum()每列求和
df.sum(1)  # sum(1)为对每行求和
  • 数乘运算使用apply
df.apply(lambda x: x*2)
  • 平方运算跟matlab类似,直接使用两个*。
df**2

3.4. 新增列

  • 扩充列可以直接像字典一样,列名对应一个list,但是注意list的长度要跟index的长度一致。

3.5. 两个DataFrame合并

  • 使用join可以将两个DataFrame合并,但只根据行列名合并,并且以作用的那个DataFrame的为基准。
  • 但是,join这个方法还有how这个参数可以设置,合并两个DataFrame的交集或并集。参数为’inner’表示交集,'outer’表示并集。
  • 如果要合并多个Dataframe,可以用list把几个Dataframe装起来,然后使用concat转化为一个新的Dataframe。
df10 = pd.DataFrame([1, 2, 3, 4, 5, 6], 
					index=list('ABCDEF'), columns=['a'])
df11 = pd.DataFrame([10, 20, 30, 40, 50, 60],
                    index=list('ABCDEF'), columns=['b'])
df12 = pd.DataFrame([100, 200, 300, 400, 500, 600],
                    index=list('ABCDEF'), columns=['c'])
list1 = [df10.T, df11.T, df12.T]
df13 = pd.concat(list1)
df13

3.6. 去重(重复行)

df.drop_duplicates(subset=None,
                   keep='first',
                   inplace=False
                   )
  • subset:指定是哪些列重复。
  • keep:去重后留下第几行,{‘first’, ‘last’, False}, default ‘first’},如果是False,则去除全部重复的行。
  • inplace:是否作用于原来的df
df14 = pd.DataFrame(data=[[1, 2, 3],
                          [1, 2, 4],
                          [1, 2, 4],
                          [1, 2, 3],
                          [1, 2, 5],
                          [1, 2, 5]],
                    index=list('ABCDEF'),
                    columns=['a', 'b', 'c'])
  • 去除重复行,保留重复行中最后一行
df14.drop_duplicates(keep='last')
  • 去除’c’列中有重复的值所在的行
df14.drop_duplicates(subset=('c',))

四. Python assert 关键字

  • 判断条件是否返回True:
x = "hello"

#如果condition返回True,则不会发生任何事情:
assert x == "hello"

#如果condition返回False,则引发AssertionError:
assert x == "goodbye"
  • 调试代码时使用assert关键字。assert关键字可以测试代码中的条件是否返回True,否则,程序将引发AssertionError。如果代码返回False,则可以编写一条消息,如下例子:
x = "hello"

#如果condition返回False,则引发AssertionError:
assert x == "goodbye", "x should be 'hello'"

五. 参考

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 13:03:21  更:2021-10-29 13:04:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:27:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码