Pandas数据预处理详解

更多内容可以关注我的Github主页:https://github.com/forestfangsenlin

目录

 

1.Pandas.read_csv()

2.Pandas.DataFrame.head()

3.Pandas.DataFrame.drop()

4.Pandas.DataFrame.loc()


1.Pandas.read_csv()

定义:

读取数据路径中的数据,返回.pd格式的数据类型。

具体用法:

pd.read_csv(DATA_PATH)

范例:

TEST\_PATH = "../test.csv"          # 省略号前为绝对路径。
test_data = pd.read_csv(TEST\_PATH)

2.Pandas.DataFrame.head()

定义:

show阵列前5行数据。

具体用法:

data.head()

范例:

比如我要查看test_data的前5行数据:

test_data.head()

输出为:

pd1

3.Pandas.DataFrame.drop()

定义:

去除某一行或者某一列的数据。

具体用法:

data.drop(columns=[‘columns_label’], rows=[‘rows_label’], inplace=True)

columns和rows可只写其中之一。

范例:

假如我要去除time列的数据:

test_data.drop(columns=['time'], inplace=True)

输出为:

pd2

4.Pandas.DataFrame.loc()

定义:

通过labels获取list或布尔阵列中的一组行或列。

具体用法:

data.loc[‘Column_label’, ‘Row_label’]

data.loc[‘Column_label_start : Column_label_end’, ‘Row_label_start : Row_label_end’]

可以只写Column的label而空着Row的label。

其方式类似于numpy矩阵x,y坐标定位方式,当我要找到nums矩阵(x1,y1)坐标上的值,只用输入nums[x1, y1]就可;而data.loc定的是pandas上的位,我要找到list或布尔上(label1, label2)的值,使用data.loc[‘label1’, ‘label2‘]即可。

例程:

假如如下数据中:

df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
     index=['猪', '猫', '鸟'],
     columns=['最大速度', '隐藏能力'])

如果我想索引猫那一行:

 最快速度隐藏能力
12
45
78

我只需要:

df.loc['猫']

输出为:

最大速度    4
隐藏能力    5
Name: 猫, dtype: int64

如果我想找到猫和鸟的那一行:

 最快速度隐藏能力
12
45
78

我只需要多加一个括号:

df.loc[['猫', '鸟']]

输出为:

        最大速度  隐藏能力
猫         4       5
鸟         7       8

如果我只想找到鸟的最快速度:

 最快速度隐藏能力
12
45
78

我只需要:

df.loc['鸟', '最快速度']

输出为:

最大速度    8
Name: 最大速度, dtype: int64

我们也可以找大于某个值的列或行,例如找隐藏能力大于6的行:

df.loc[df['隐藏能力'] > 6]

输出为:

        最大速度  隐藏能力
鸟         7       8

或者我们也可以找隐藏能力大于6的,其最大速度的那一个或一列值:

df.loc[df['隐藏能力'] > 6, ['最大速度']]

输出为:

        最大速度  
鸟         7       
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值