python frame用法_dataframe的一些用法

6b95eabdda5829e8b8d5df0d373be5df.png

pandas中Dataframe的一些用法

pandas读取excel文件

pd.read_excel 前提是安装xlrd库

dataframe,numpy,list之间的互相转换

dataframe转numpy :dataframe对象.values

dataframe转list:dataframe对象.values.tolist()

list转numpy:np.array(list对象)

list转dataframe:pd.DataFrame(list对象)

numpy转list:numpy对象.tolist()

numpy转dataframe:pd.DataFrame(numpy对象)

dataframe 按行遍历,按列遍历

按行遍历:

常用df.iterrows()

import pandas as pd

demo_list = [[1,2],

[3,4]]

#用list构建dataframe

demo_df = pd.DataFrame(demo_list)

print(demo_df)

bb94b5a9aa535f9b7f002dcf8c1bafca.png

#接上

for row in demo_df.iterrows():

print(type(row))

print(row[0])

print(row[1])

fe6eba289bf64e6a53dd67b236122dae.png

可以看到每个row的类型是tuple元组类型,元组长度为2,元组第0个元素为index,第1个元素为横向的series。**值得注意的是,在遍历过程中如果取每一行的某个值,通过对row[1]进行切片即可。 **

按列遍历

经常使用df.columns获取列名然后访问

#接上

print(demo_df.columns)

for column in demo_df.columns:

print(demo_df[column])

e568ad0e67086df116a54a2a91858194.png

dataframe之使用iloc切片

先构建dataframe

import numpy as np

import pandas as pd

##list构建5x5的dataframe,由于dataframe没有reshape,因此需要借助numpy

demo_list = [i for i in range(25)]

demo_np = np.array(demo_list).reshape(5,5)

demo_df = pd.DataFrame(demo_list)

print(demo_df)

d0f8d8f87d1cbd0bddf00a664226fa3b.png

iloc[start:end ,start :end ]表示按行列取出dataframe的值。其中逗号前面表示行,逗号后面表示列。冒号左侧表示开始,冒号右侧表示结束(遵循左闭右开原则)。例如,demo_df.iloc[2:4,1:3]表示切片第二行到第三行 第一列到第二列数据。 切片返回的数据类型还是dataframe。

17b5283b1374d17b4e3458ee52135986.png

iloc[start: end :step,start:end :step]是在上一个切片的基础上加上了步长。表示从start到end每step步取一次值。

dataframe 中缺失值的处理

均值填充

通常使用fillna()

##获取存在缺失值的列名列表

null_columns=list(file_df.columns[file_df.isnull().sum() > 0])

for column in null_columns :

#计算每一列的均值

mean_val = file_df[column].mean()

#使用fillna进行均值填充

file_df[column].fillna(mean_val, inplace=True)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值