(一)数据加载及探索性数据分析

7 篇文章 0 订阅
5 篇文章 2 订阅
导入numpy和pandas
# 如果没安装这两个库可以通过
# conda install numpy 或者 pip install numpy
# conda install pandas 或者 pip install pandas
import numpy as np
import pandas as pd
载入数据
image-20200816110515081

虽然有上面那么多种用法,不过用的最多的还是read_csvread_table这两个。

这次学习使用的是泰坦尼克号的数据,kaggle链接——https://www.kaggle.com/c/titanic/overview

#写入代码
df_relative = pd.read_csv('train.csv')
df_relative.head()

image-20200816111116875

这些特征的含义出题者也是给出了解释。

image-20200816113903794

当相对路径报错的时候,可以尝试使用绝对路径。

import os
#os.getcwd()查看当前目录
os.getcwd() + 'train.csv' # 绝对路径
逐块读取

当一个csv文件比较大的时候,如果直接读取整个csv,服务器的内存是吃不消的,因此需要用chunksize去分块处理。

  df=pd.read_csv('data.csv', chunksize=1000) # chunksize自己设置for chunk in df:
      print(chunk)
将表头英文换成中文,并且将乘客ID设置成索引
# 方法1 在读取文件的时候就设置
df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
df.head()
# 方法2 读取文件还是一样读取,在后面设置
d = {'PassengerId':'乘客ID', 'Survived':'是否幸存', 'Pclass':'仓位等级', 'Name':'姓名', 'Sex':'性别', 	 'Age':'年龄','SibSp':'兄弟姐妹个数', 'Parch':'父母子女个数', 'Ticket':'船票信息', 'Fare':'票价',     	   'Cabin':'客舱', 'Embarked':'登船港口'}
df_table.rename(columns=d, inplace=True) # 更换名字
df_table.set_index('乘客ID', inplace=True) # 设置索引
df_table.head()

image-20200816114650488

基本用法
df.info() 
df.head() # 前五行
df.tail() # 后五行
df.isnull() # 判断数据是否为空,空的地方是True
df.to_csv('train_chinese.csv') # 将DataFrame导出为csv文件
删除多余的列
del df[a] # a是列的名称
df('a', axis=1, inplace=True) # 跟上面的效果一样
筛选

例子: 以"Age"为条件,将年龄在10岁以上和50岁以下的乘客信息显示出来,并将这个数据命名为midage

midage = df[(df["Age"]>10)& (df["Age"]<50)]
midage.head(5)

image-20200816115236212

例子:将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来

midage.loc[[100],['Pclass','Sex']]
image-20200816115417706

例子:使用loc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来

midage.loc[[100,105,108],['Pclass','Name','Sex']]
image-20200816115509038

例子:使用iloc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来

midage.iloc[[100,105,108],[2,3,4]]

image-20200816115541392

排序

原始数据为:image-20200816115749253

例子1:让行索引升序排序

df_table.sort_index(axis=0)
image-20200816115846642

例子2:让列索引升序排序

df_table.sort_index(axis=1)
image-20200816115930866

例子3:任选两列数据同时降序排序

df_table.sort_values(['d', 'b'], ascending=[False, False])
image-20200816120006619

小总结:如果是要按行索引或者列索引则使用sort_index(),如果要按值排序则使用sort_value()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MATLAB中进行探索性数据分析(Exploratory Data Analysis,EDA)可以利用各种内置函数和工具来处理和可视化数据。以下是一些常用的MATLAB函数和技巧,可用于EDA: 1. 加载数据:使用`readmatrix`、`readtable`或其他适用的函数加载数据集。 2. 数据摘要:使用`Summary`函数生成数据的摘要统计信息,例如均值、中位数、最小/最大值等。 3. 数据可视化:使用各种绘图函数(例如`plot`、`histogram`、`boxplot`等)来可视化数据的分布、关系和异常值。 4. 缺失值处理:使用`ismissing`函数检测缺失值,并使用`fillmissing`函数或其他方法处理缺失值。 5. 异常值检测:使用统计方法(例如标准差、箱线图等)或基于机器学习的方法(例如聚类、异常检测算法等)检测异常值。 6. 相关性分析:使用`corrcoef`函数计算变量之间的相关系数,并使用相关矩阵或热图可视化相关性。 7. 数据聚类:使用聚类算法(例如K均值聚类、层次聚类等)将数据分成不同的群组,并可视化聚类结果。 8. 数据降维:使用主成分分析(PCA)或其他降维方法将高维数据映射到低维空间,并可视化降维结果。 9. 数据转换:根据需求对数据进行转换,例如标准化、归一化、对数转换等。 10. 数据交互:利用MATLAB的交互性功能,例如数据提示工具(Data Cursor)和选取工具(Data Brush)进行数据探索和分析。 以上是一些常用的MATLAB函数和技巧,可用于探索性数据分析。根据具体的数据集和需求,你可以选择适当的方法和工具来完成EDA任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值