Python数据分析 2-3 DataFrame对象 介绍DataFrame对象的创建,删除列增加列,修改列名索引以及数据显示等操作。 (1)

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:单标签或类似列表,指定轴的替代方法。
level:int或级别名称,可选,对于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:表示轴的名称,可以使用index或columns,也可以使用数字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

在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值