Python数据分析 2-3 DataFrame对象

介绍DataFrame对象的创建删除列增加列,修改列名索引以及数据显示操作

1 引入NumPy和Pandas

import numpy as np
import pandas as pd

**2 DataFrame对象的创建
pandas.DataFrame()函数可以返回给定形状数据类型数据框,其主要参数如下

data数据,其类型可以是ndarray结构化数组同构)、Iterable(迭代器)、dic或者直接是DataFrame。
index:行索引默认为RangeIndex (0, 1, 2, …, n)。
columns用于生成框架的列标签。默认为RangeIndex (0, 1, 2, …, n)。
dtype数据类型,可选参数,默认为无。只允许使用一种数据类型,若无,系统自行推断
copy:布尔型,可选参数{0,1}。从输入复制数据。**

# 列表创建
data=[['Tom',10],['Jerry',12],['Lucy',13]]
df=pd.DataFrame(data=data,
            index=["a","b","c"],
            columns=['Name','Age'],
             dtype=int)
df

在这里插入图片描述

#字典
data={'Name':['Tom','Jery','Lucy'],'Age':[10,11,12]}
df = pd.DataFrame(data)
#输出
df

在这里插入图片描述

pandas.read_csv()函数csv文件读取数据,并返回一个DataFrame数据框,主要参数如下
filepath_or_buffer表示文件所处路径。此参数必须有。
sep指定分隔符,默认为逗号,。
delimiter:定界符,默认为None,若指定该参数,sep参数失效
header指定表头,默认为0(即第一行表头),若需要没有表头,则header=None。
names指定列名,用列表表示
index_col指定某列数据索引,默认为None。
prefix:给列名前缀。默认为None。
encoding解码方式乱码考虑用。默认为None。

# 从数据读取
df = pd.read_csv(filepath_or_buffer="./dataset/Covid19.csv")
df.head()

在这里插入图片描述

**3 删除添加
DataFrame.drop()方法从行或列中删除指定标签通过指定签名称和相应的轴,或直接指定索引列名称,删除行或列。
使用索引时,可以通过指定级别删除不同级别上的标签。主要参数如下

labels:单个标签或类似列表,要删除索引或列标签
axis:可选参数,{0或’index’,1或’columns’},默认0,是从索引(0或“ index”)还是从列(1或“ columns”)中删除标签
index:单个标签或类似列表,指定轴的替代方法
columns:单标签或类似列表,指定轴的替代方法
levelint级别名称,可选,对于MultiIndex,将从中删除标签级别
inplace:布尔值,默认为False,如果为False,则返回副本。否则,执行就地操作返回无。**

# 删除列
df.drop(columns=["cough"],inplace=True)
df

在这里插入图片描述

# 删除多列
df.drop(columns=["fever","test_date"],inplace=True)
df

在这里插入图片描述

# 新增
df["test"] = 1
# 添加
df["test"] = 1 - df["head_ache"]
df

在这里插入图片描述

4  修改列名和索引名字
df.columns
Index(['sore_throat', 'shortness_of_breath', 'head_ache', 'corona_result',
       'age_60_and_above', 'gender', 'test_indication', 'test'],
      dtype='object')

在这里插入图片描述

**DataFrame.rename()方法用于更改行列的标签,即行列的索引。可以传入一个字典或者一个函数。主要参数如下

index字典函数表示转换的行索引。
columns:类似字典函数表示转换的列索引。
axis表示轴的名称,可以使用indexcolumns,也可以使用数字0或1。
copy表示是否复制底层数据,默认为False。
inplace:默认为False,表示是否返回新的Pandas对象。如果设为True,则会忽略复制的值。
level:表示级别名称,默认为None。对于多级索引,只重命名指定的标签。**

# 修改列名
df.rename(columns={"cough11":"cough22", "fever11":"fever22"}, inplace=True)
df.columns
Index(['sore_throat', 'shortness_of_breath', 'head_ache', 'corona_result',
       'age_60_and_above', 'gender', 'test_indication', 'test'],
      dtype='object')

在这里插入图片描述

**DataFrame.replace()方法可以替换某列,也可以替换某行,还可以全表替换。主要参数如下

to_replace:被替换的值。
value:替换后的值。
inplace:默认为False,表示是否要改变原数据。False是不改变,True是改变。
limit控制填充次数
regex是否使用正则。False是不使用,True是使用,默认为False。**

# 修改列名
df.columns.str.replace("cough22", "13231313")
Index(['sore_throat', 'shortness_of_breath', 'head_ache', 'corona_result',
       'age_60_and_above', 'gender', 'test_indication', 'test'],
      dtype='object')

在这里插入图片描述

# 修改索引
df.rename(index={0:"a", 1:"b"}, inplace=True)
df

在这里插入图片描述

5 DataFrame的显示
DataFrame.head()方法显示开始n行。主要参数如下
n:整型,表示要输出前n行,默认为5

# 显示开始几行
df.head()

在这里插入图片描述

DataFrame.tail()函数返回最后n行。主要参数如下:
n:整型,表示要输出最后n行,默认为5。

# 最后几行
df.tail(n=5)

在这里插入图片描述

# 最后几行
df

在这里插入图片描述

原文地址:https://blog.csdn.net/m0_65523585/article/details/129213817

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_23672.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注