Python数据探索

数据预览

1.读取
读取的一般为csv文件

import pandas as pd

data=pd.read_csv(r'F:\paper\dataset\csv\archive.csv')
data.head()

在这里插入图片描述
最近迷上了使用剪切板

import pandas as pd

#首先选中所需数据 >> 右击复制
data = pd.read_clipboard()
data.head()

2.数据格式
查看各变量数据类型

data.dtypes

3.描述性统计

data.describe()

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190304142226713.

4.统计每个元素出现的次数

pd.value_counts(df_10.x28_1)

5.缺失值情况
查看每列缺失值个数

(data.isnull()).sum()

在这里插入图片描述
显示缺失值所在位置

data[data.isnull().values==True]

在这里插入图片描述

可视化方式查看缺失值情况

import missingno as msno
%matplotlib inline

#way1
msno.matrix(data1, labels=True)

#way2
col_missing =data.isnull().any()[data.isnull().any()].index
msno.matrix(df=data[col_missing])

在这里插入图片描述

数据清洗

缺失值处理

备注:如果想删除一些无关紧要的列的话

data=data.drop(columns=["year"])

1.删除全为空值的行 / 列

data=data.dropna(axis=0,how='all')	#行
data=data.dropna(axis=1,how='all')	#列

2.删除含有空值的行 / 列

quantile=data.dropna(axis=0, how='any')	#行
quantile=data.dropna(axis=1, how='any')	#列

3.上下数据进行填充

#使用前一个数据进行填充
data0['Wretwd'] = data0['Wretwd'].fillna(method='pad')

#使用后一个数据进行填充
data0['Wretwd'] = data0['Wretwd'].fillna(method='bfill')

4.用插值法填充

data['灰度分'] = data['灰度分'].interpolate()

5.用KNN进行填充

from fancyimpute import BiScaler, KNN, NuclearNormMinimization, SoftImpute
dataset = KNN(k=3).complete(dataset)

6.各种值填充

#固定值
data['灰度分'] = data['灰度分'].fillna('-99')

#均值
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mean()))

#众数
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mode()))

特定值处理

#删除含有某值的某列
data=data[~data['任务状态'].isin(['已关闭'])]

#选取含有某值的某列
data[data['任务状态'].isin(['已完成'])]


索引

1.重置索引

data.reset_index(drop=True)

2.设置某一列为索引

data.set_index('year')

查找重复值

在subset后面填写所需查重的列名,即可得知重复项所在行

for i,j in enumerate(ch4.duplicated(subset = ["Gas age"])):
    if j==1:
        print(i)

数据透视表

根据 ‘year’ 列计算分组平均值

year_mean=pd.DataFrame(data.groupby('year').mean())

时间格式

data['Date'] = pd.to_datetime(data['Date'])
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值