初识数据分析01——Pandas入门

  • 导入 Pandas 与 NumPy:
In [1]: import numpy as np

In [2]: import pandas as pd
  • 载入数据
pd.read_csv()
  • 分块读取
pd.read_csv('train.csv', chunksize=1000)
  • 查看数据的基本信息
df.info()
  • 判断数据是否为空,为空的地方返回True,其余地方返回False
df.isnull().

  • 保存数据
df.to_csv()

Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

Series 由索引(index)和列组成,函数如下:

pandas.Series( data, index, dtype, name, copy)

参数说明:

  • data:一组数据(ndarray 类型)。
  • index:数据索引标签,如果不指定,默认从 0 开始。
  • dtype:数据类型,默认会自己判断。
  • name:设置名称。
  • copy:拷贝数据,默认为 False。

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

DataFrame 构造方法如下:

pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

  • data:一组数据(ndarray、series, map, lists, dict 等类型)。
  • index:索引值,或者可以称为行标签。
  • columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
  • dtype:数据类型。
  • copy:拷贝数据,默认为 False。
pd.DataFrame(np.arange(8).reshape((2,4)),index=[2,1],columns=['d', 'a', 'b', 'c'])

frame2 = pd.DataFrame([[1.4, np.nan],
                       [7.1, -4.5],
                       [np.nan, np.nan],
                       [0.75, -1.3]
                      ], index=['a', 'b', 'c', 'd'], columns=['one', 'two'])
frame2

【代码解析】
pd.DataFrame() :创建一个DataFrame对象
np.arange(8).reshape((2, 4)) : 生成一个二维数组(2*4),第一列:0,1,2,3 第二列:4,5,6,7
index=[‘2, 1] :DataFrame 对象的索引列
columns=[‘d’, ‘a’, ‘b’, ‘c’] :DataFrame 对象的索引行

两个DataFrame相加后,会返回一个新的DataFrame,对应的行和列的值会相加,没有对应的会变成空值NaN

假定有数据集df,格式为dataframe,现想获取其列名

  • df.columns:返回的是array格式。
  • list(df) :返回list格式,非常方便
  • df.keys()

  • 查看某一列唯一值

dataframe['xxx'].unique()
  • 查看某一列所有值(例:查看”Cabin”这列的所有值)
df['Cabin'].head(3)
df.Cabin.head(3)
  • drop
DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

参数解释:

如果想要完全的删除你的数据结构,使用inplace=True,因为使用inplace就将原数据覆盖了,

df.drop(['B', 'C'], axis=1)

df.drop(columns=['B', 'C'])

df.drop(labels=['B', 'C'], axis=1)
  • del

例:删除test中的a列

del test['a']
df[df.A==100]
df[df["Age"]<10]
df[(df.A==100)&(df.B=='a')]

df[(df.A==100)|(df.B=='b')]

reset_index()

不想保留原来的index,使用参数 drop=True,默认 False。

loc[]基于标签索引选取数据.iloc[]基于整数索引选取数据

  • .sort_values()

使用 .sort_values(),将单个参数传递给包含要作为排序依据的列的名称的方法。

DataFrame.sort_values(by=’##’, axis=0, ascending=True, inplace=False, na_position=’last’)

参数
by – 指定列名(axis=0或者’index’)或索引值(axis=1或者’columns’)
axis – 按行、按列,默认axis=0按指定列排序
ascending – 是否升序 默认为True
inplace – 是否修改原对象
kind – 排序算法 快排quicksort、归并mergesort、堆排序heapsort、稳定排序stable,默认快排
na_position – {‘first’, ‘last’} 设定缺失值的显示位置
ignore_index – 排序后是否重置索引
key – 排序之前使用的函数 (version 1.1.0 后才有该参数)

  • 其他排序方式

frame.sort_index()

frame.sort_index(axis=1)

frame.sort_index(axis=1, ascending=False)

frame.sort_values(by=['a', 'c'], ascending=False)
DataFrame.describe(percentiles=None, include=None, exclude=None)

参数
percentiles:赋值类似列表形式,可选
表示百分位数,介于0和1之间。默认值为 [.25,.5,.75],分别返回第25,第50和第75百分位数。 可自定义其它值,用法为df.describe(percentiles=[.xx])。
include:’all’,类似于dtypes列表或None(默认值),可选
要包含在结果中的数据类型的白名单。对于 Series不可用。以下是选项:
‘all’:输入的所有列都将包含在输出中。
类似于dtypes的列表:将结果限制为提供的数据类型。将结果限制为数字类型用法: numpy.number。要将其限制为对象列用法: numpy.object。字符串也可以以 select_dtypes(例如 df.describe(include=['O']))的方式使用。要选择分类类型,请使用 'category'
无(默认):结果将包括所有数字列。
exclude:类似于dtypes列表或None(默认值),可选,
要从结果中除去的黑名单数据类型列表。 Series不可用。以下是选项:
类似于dtypes的列表:从结果中排除提供的数据类型。排除数值类型用法: numpy.number。要排除对象列,使用 numpy.object。字符串也可以以 select_dtypes(例如 df.describe(include=['O']))的方式使用。要排除分类类型,请使用 'category'
无(默认):结果将不包含任何内容。

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

Original: https://blog.csdn.net/weixin_64632836/article/details/126343485
Author: 上烟雨心上尘
Title: 初识数据分析01——Pandas入门

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

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

(0)

大家都在看

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