【Python】Python插件pandas的DataFrame对象详细介绍,如何拿到里面的值

本文详细介绍了Python的Pandas库中DataFrame对象的创建、访问方法,包括使用loc[],iloc[],at[],iat[]以及读取Excel文件的方式,并展示了各种数据操作技巧,如排序、合并、处理缺失值等。
摘要由CSDN通过智能技术生成

【Python】Python插件pandas的DataFrame对象详细介绍,如何拿到里面的值


一、Pandas简介

Pandas是Python的一个数据处理库,其中的DataFrame是一种二维的表格数据结构,类似于Excel中的表格。DataFrame由行和列组成,每一列可以是不同的数据类型(如整数、浮点数、字符串等),每一行都有一个唯一的索引值。

二、创建一个DataFrame对象

要创建一个DataFrame对象,可以使用Pandas的read_csv()函数从CSV文件中读取数据,也可以手动创建一个DataFrame对象。

例如,以下代码创建了一个DataFrame对象:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [20, 25, 30],
        '性别': ['男', '女', '男']}

df = pd.DataFrame(data)
print(df)

输出结果为:

   姓名  年龄 性别
0  张三  20  男
1  李四  25  女
2  王五  30  男

三、访问DataFrame中的值

要访问DataFrame中的值,可以使用loc[]方法。例如,要访问第一行第二列的值,可以使用以下代码:

print(df.loc[0, '年龄'])

输出结果为:

20

还可以使用iloc[]方法,通过行列的位置来访问DataFrame中的值。例如,要访问第二行第一列的值,可以使用以下代码:

print(df.iloc[1, 0])

输出结果为:

李四

此外,还可以使用at[]和iat[]方法来访问DataFrame中的单个值,它们比loc[]和iloc[]方法更快,但只能访问单个值。

三、读取Excel及DataFrame的各种使用方式

import pandas as pd
path = 'E:\python\测试\\数据查询.xlsx'
data = pd.DataFrame(pd.read_excel(path,sheet_name='Left',header=1,converters={ 
'A': str}))     # converters={'A': str} 设置A列格式为文本
data.index                       # 查看索引
data.values                      # 查看数值
data.sort_index()                # 按索引排序
data.sort_values()               # 按数值排序
data.head( 5 )                   # 查看前5行
data.tail( 3 )                   # 查看后3行
data.values                      # 查看数值
datashape                        # 查看行数、列数
data.isnull()                    # 查找data中出现的空值
data.unique()                    # 查看唯一值
data.columns                     # 查看data的列名
data.sort_index()                # 索引排序 
data.sort_values()               # 值排序
pd.merge(data1,data2)            # 合并,以下为左连接
pd.merge(data1,data2,on=[a],how='left') 
pd.concat([data1,data2])         # 合并,与merge的区别,自查**(特别注意要使用[])**
pd.pivot_table( data )           # 用df做data透视表(类似于Excel的数透)
data.reset_index()               # 修改、删除原有索引
data.reindex()                   # 重置索引,如下示例
data=data.reindex(columns=['商品名称', '规格', '对应车型类别', '备注', '新增的一列'], fill_value='新增的一列要填的值')  
a=data['x']                      # 取列名为'x'的列,格式为series
b=data[['x']]                    # 取列名为'x'的列,格式为Dataframe
c=data[['w','z']]                # 取多列时需要用Dataframe的格式
data.loc['A']                    # 取行名为'A'的行
data.loc[:,['x','z'] ]           # 表示选取所有的行以及columns为x,z的列
data['name'].values              # 取列名为'name'的列的值(取出来的是array而不是series)取单行后是一个Series,Series有index而无columns,可以用name来获取单列的索引
data.head(4)                     # 取头四行
data.tail(3)                     # 取尾三行
**data= data.iloc[2:, 2:20]        # 选择2行开始、2-11列**
[m, n] = data.shape              # 对m,n进行复制,m等于最大行数 n等于最大列数
data.notnull()                   # 非空值
data.dropna()                    # 删除空值
data.dropna()                    # 删除有空值的行
data.dropna(axis=1)              # 删除有空值的列
data.dropna(how='all')           # 删除所有值为Nan的行
data.dropna(thresh=2)            # 至少保留两个非缺失值
data.strip()                     # 去除列表中的所有空格与换行符号
data.fillna(0)                   # 将空值填充0
data.replace(1, -1)              # 将1替换成-1
data.fillna(100)                      # 填充缺失值为100
data.fillna({ 
'语文':100,'数学':100,})        # 不同列填充不同值
data.fillna(method='ffill')                 # 将空值填充为上一个值
data.fillna(method='bfill')                 # 将空值填充下一个值
data.fillna(method='bfill',limit=1)         # 将空值填充下一个值,限制填充数量为1
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tzq@2018

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

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

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

打赏作者

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

抵扣说明:

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

余额充值