【TL第二期】动手学数据分析-第一章 数据基本操作

文章目录

*

+
* 第一章
*
第一节 数据载入与初步观察

+ 0 导库
+ 1 载入数据
+ 2 查看数据基本信息
第二节 pandas基础

+ 1 数据类型DataFrame 和 Series
+ 2 对文件数据的基本操作
3 数据筛选
* 第三节 探索性数据分析

第一章

第一节 数据载入与初步观察
0 导库

导入pandas、numpy(都是用于数据分析的库)

1 载入数据
  1. 使用 相对路径绝对路径打开文件

  2. 相对路径:如果在同一文件夹下,直接访问文件名;如果不在同一级目录下:

    ./:代表目前所在的目录 ../:代表上一层目录 以 /开头:代表根目录

  3. 绝对路径:
import os
import  pandas as pd
os.path.abspath('.')
os.path.abspath('..')
data  = pd.read_csv('.\data\LJdata.csv')'
  1. read_csvread_table的区别 存储效果不同, read_table按行存储,没有分隔(默认使用原始的逗号分隔); read_csv使用制表符进行分隔
  2. 逐块读取 适合数据条数较多时。

补充:
返回的数据类型:使用 read_csv返回 DataFrame类型,加入 chunksize属性之后返回的是 TextFileReader对象

  • DataFrame类型可以显示,可以使用 head()获取头部数据; TextFileReader对象不可以
  • 可以使用 get_chunk()函数获取逐块的数据

  • 将表头改为中文


df.columns = ['乘客ID','是否幸存',''...]

df = pd.read_csv('train.csv', names=['乘客ID','是否幸存',''...])

2 查看数据基本信息
df.describe()

显示前几行/后几行数据

df.head(10)
df.tail(15)

判断数据是否为空


df.isnull()

【TL第二期】动手学数据分析-第一章 数据基本操作

保存数据

df.to_csv('train_chinese.csv')
第二节 pandas基础
1 数据类型DataFrame 和 Series
  • DataFrame :(二维标签数据结构) 可以用Series生成
d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}

  • Series:带标签的一维数组(一维标签数据结构),可以存储整数、浮点数、字符串、python对象等类型的数据。标签统称为 索引
s = pd.Series(np.random.randn(5), index=['a','b','c','d','e'])

s1 = pd.Series([1,2,3,4,5], index =['a','b','c','d','e'])

Series可以用 字典实例化:

s = pd.Series({'b':1, 'a':0, 'c':2})

python中的字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值对 key=>value 用冒号:分割,每个键值对之间用逗号, 分割,整个字典包括在花括号 {}

2 对文件数据的基本操作
  1. 查看DataFrame数据的每一列的名称
df = pd.read_csv('train.csv')
df.columns

【TL第二期】动手学数据分析-第一章 数据基本操作
2. 查看某一列的所有数值
df['Cabin'].head(3)

  1. 对比两个文件的列的差别,并删除不相同的列
del test_1['a']
test_1.pop('a')
test_1.drop(['a'], axis=1)

python中的布尔值True/False需要大写。
4. 隐藏某几列的元素 直接使用 drop方法(不使用 inplace参数),返回一个副本。相当于隐藏某几列。

3 数据筛选
  1. 以”Age”为筛选条件,显示年龄在10岁以下的乘客信息
df['Age']<10

df[df['Age']<10]

【TL第二期】动手学数据分析-第一章 数据基本操作
2. 以”Age”为条件,将年龄在10岁以上和50岁以下的乘客信息显示出来,并将这个数据命名为midage
midage = df[(df["Age"]>10)& (df["Age"]<50)]

使用交集和并集的操作: 与、或: &| 此案例中,用并集返回的数据条数会更多,因为并集返回的数据中有重合的部分
3. 将midage的数据中第100行的”Pclass”和”Sex”的数据显示出来

midage = midage.reset_index(drop=True)
midage.loc[[100],['Pclass','Sex']]
  • reset_index(): 将DataFrame的序号重置
  • index(): 查看数据索引范围
  • 使用loc方法将midage的数据中第100,105,108行的”Pclass”,”Name”和”Sex”的数据显示出来

midage.loc[[100,105,108],['Pclass','Name','Sex']]
  1. 使用iloc方法将midage的数据中第100,105,108行的”Pclass”,”Name”和”Sex”的数据显示出来
midage.iloc[[100,105,108],[2,3,4]]

python中, 获取某一行、列数据的方法 列:使用类似于字典的方法

df['a']

行:使用 loc()iloc()方法【但看着更像是列数据索引的区别】

midage.loc[[100,105,108],['Pclass','Name','Sex']]
midage.iloc[[100,105,108],[2,3,4]]

对比 loc()iloc():
loc():通过 行标签索引行数据
iloc():通过 行号获取行数据

第三节 探索性数据分析

利用Pandas对数据进行排序


df = pd.DataFrame(np.random.randn(6,4) ,index=list('213'), colums=list('ABCD'))
frame = pd.DataFrame(np.arange(8).reshape((2, 4)),ndex=['2', '1'], columns=['d', 'a', 'b', 'c'])

排序:


frame.sort_values(by='c', ascending=True)
frame.sort_values('c')

frame.sort_index()

frame.sort_index(axis=1)

排序方法的参数:
axis
ascend

对泰坦尼克号数据(trian.csv)按票价和年龄两列进行综合排序

text.sort_values(by=['票价', '年龄'], ascending=False).head(3)

利用Pandas进行算术计算,计算两个DataFrame数据相加结果

frame1_a = pd.DataFrame(np.arange(9.).reshape(3, 3),
                     columns=['a', 'b', 'c'],
                     index=['one', 'two', 'three'])
frame1_b = pd.DataFrame(np.arange(12.).reshape(4, 3),
                     columns=['a', 'e', 'c'],
                     index=['first', 'one', 'two', 'second'])

frame1_a + frame1_b

【TL第二期】动手学数据分析-第一章 数据基本操作

【TL第二期】动手学数据分析-第一章 数据基本操作

【TL第二期】动手学数据分析-第一章 数据基本操作

通过泰坦尼克号数据如何计算出在船上最大的家族有多少人

max(text['兄弟姐妹个数'] + text['父母子女个数'])

Pandas describe()

count : 样本数据大小
mean : 样本数据的平均值
std : 样本数据的标准差
min : 样本数据的最小值
25% : 样本数据25%的时候的值
50% : 样本数据50%的时候的值
75% : 样本数据75%的时候的值
max : 样本数据的最大值

the end.

Original: https://blog.csdn.net/hhhhh601/article/details/121939209
Author: yijia7590jfz
Title: 【TL第二期】动手学数据分析-第一章 数据基本操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/676890/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球