Python——pandas模块—DataFrame数据结构

Python——pandas模块—DataFrame数据结构

pandas

  • Numpy更适合处理统一的数值数组数据
  • pandas是专门为处理表格和混杂数据设计的
  • panda有两种数据结构:
    1. Series
    2. DataFrame

DataFrame

  • DataFrame是一个表格型(类似Excel)的数据结构含有一组有序的列,每列可以是不同值类型(数值,字符串,bool等)
  • 与Series(只有行索引index)相比,DataFrame 既有行索引,也由列索引
  • 可以看成由多个共用一个列索引的Series组成的字典
    在这里插入图片描述

创建DataFrame对象

创建函数

obj = pandas.Dataframe()#创建函数

通过字典创建

  • 定义一个字典
  • 字典的 key 就是DataFrame的 列名
  • 字典的 value 就是一个Serise.values
  • Dataframe的index不设定时默认传 0~N
    看一个例子:
'''创建DataFrema'''
import pandas as pd
#定义一个字典
dic = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002,2003],'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
#通过DataFrame()创建对象
frame = pd.DataFrame(dic)
print('通过字典创建一个没有传入指定index的DataFrame对象:')
print(frame)

在这里插入图片描述

通过一个二维数组创建

只不过通过二维数组创建的元素都是相同类型的了
如果不重新传入索引columns,index,则都从0~n赋值

import pandas as pd
import numpy as np
arr = np.arange(24).reshape(6,4)
frame = pd.DataFrame(arr,columns=['a','b','c','d'],index=['one','two','three','four','five','six'])
print(frame)

在这里插入图片描述

columns= 指定列名,index= 指定行索引

修改frame的列名
实际上是根据columns传入的值去字典里索引

当指定的列名包含在字典key中

'''指定列名'''
frame2 = pd.DataFrame(dic,columns=['pop','year','state'])
print('修改完列名的DataFrame')
print(frame2)

在这里插入图片描述

当指定的列名包含不在字典key中

当指定的列名包含不在字典key中,索引不到,
创建新的列,值设为NaN(产生缺失值)

'''指定列名不全在key中'''
frame3 = pd.DataFrame(dic,columns=['pop','year','state','debt'],index=['one','two','three','four','five','six'])
print('指定完列名、行索引的DataFrame')
print(frame3)

在这里插入图片描述

查看属性值

查看columns(列索引)

print(frame3.columns)

查看index(行索引)

print(frame3.index)

查看values(元素数组)

print(frame3.values)

在这里插入图片描述

索引列:查看指定列(返回一个Series)

返回一个Series

DataFrema.column

print('yera列的Series')
print(frame.year)

查看指定列类型:

print('year列的数据类型')
print(type(frame.year))

在这里插入图片描述

DataFrema[column]

#DataFrema[column]
print('stste列的Series')
print(frame['state'])

在这里插入图片描述

索引行:查看指定行

在Sreies中索引行我们用Series.[index],但在DataFrema是这个方式已经被索引列占用,所以索引列,我们用另外的方式

DataFrame.loc[index]

行元素的数据类型也是一个Series

import pandas as pd
dic = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002,2003],'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
frame = pd.DataFrame(dic,index=['one','two','three','four','five','six'])
print('three行的Series')
print(frame.loc['three'])
print('three行的数据类型:',type(frame.loc['three']))

在这里插入图片描述

DataFrame.iloc[行号]

行号从0开始

print('第0行的数据Series:')
print(frame.iloc[0])

重新行索引DataFrame.reindex()

更改行的位置

'''修改行索引。列索引'''
import pandas as pd
import numpy as np
arr = np.arange(24).reshape(6,4)
frame = pd.DataFrame(arr)
print('修改前')
print(frame)
#修改行索引
frame2 = frame.reindex([4,5,2,1,3,0])
print('修改后')
print(frame2)

在这里插入图片描述

DataFrame.index=[ ]修改行索引

DataFrame.columns=[ ]修改列索引

修改索引

#修改索引名
import pandas as pd
import numpy as np
arr = np.arange(24).reshape(6,4)
frame = pd.DataFrame(arr)
#修改索引名
frame.columns=['a','b','c','d']
frame.index=['one','two','three','four','five','six']
#修改索引名后
print(frame

在这里插入图片描述

行列的增删改

指定:
axis = 1 表示列
默认 表示行

data = DataFrame.drop(列名,axis = 1)
data = DataFrame.drop(行名)
这篇笔记主要介绍了Pandas模块的基本操作和使用方法。PandasPython中一个用于数据分析和处理的常用库,提供了高效的数据结构数据分析工具,是进行数据处理和数据挖掘的重要工具之一。 一、Pandas数据结构 Pandas主要有两种数据结构:Series和DataFrame。 1. Series Series是一种类似于一维数组的对象,由一组数据和一组与之相关的标签(即索引)组成。Series的创建方式如下: ```python import pandas as pd # 通过列表创建Series s = pd.Series([1, 3, 5, np.nan, 6, 8]) # 通过字典创建Series s = pd.Series({'a': 1, 'b': 2, 'c': 3}) ``` 2. DataFrame DataFrame是一种二维表格数据结构,由一组数据和一组行索引和列索引组成。DataFrame的创建方式有很多种,最常用的是通过字典创建。例如: ```python import pandas as pd data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22], 'gender': ['M', 'M', 'F']} df = pd.DataFrame(data) ``` 二、Pandas的基本操作 1. 数据读取 Pandas可以读取多种格式的数据文件,如CSV、Excel、SQL等。常用的读取CSV文件的方式如下: ```python import pandas as pd df = pd.read_csv('data.csv') ``` 2. 数据预处理 数据预处理是数据挖掘中非常重要的一部分,Pandas提供了很多方便的函数和方法来进行数据清洗和转换。常用的数据预处理函数和方法有: - 处理缺失值 ```python # 判断是否存在缺失值 df.isnull() # 删除缺失值 df.dropna() # 填充缺失值 df.fillna(value) ``` - 处理重复值 ```python # 删除重复值 df.drop_duplicates() ``` - 数据转换 ```python # 数据类型转换 df.astype() # 数据替换 df.replace() ``` 3. 数据分析 Pandas提供了各种数据分析和处理的方法和函数,常用的包括: - 统计函数 ```python # 计算平均值 df.mean() # 计算标准差 df.std() # 计算最大值和最小值 df.max(), df.min() ``` - 排序 ```python # 按照某列排序 df.sort_values(by='column_name') ``` - 数据聚合 ```python # 对某列数据进行分组求和 df.groupby('column_name').sum() ``` 以上是Pandas模块的基础内容,还有很多高级用法和技巧需要进一步学习和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

企鹅家的北极熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值