一:Pandas的两种数据结构:

  • Series : Series是一个一维的容器。和python的列表很相似,但是每个元素的数据类型必须相同。
  • DateFrame :DateFrame是一个二维的容器,DataFrame可以看做是个字典,键是列名,值是Series。

二:Series创建和属性:

1:Series的创建:

(三)Pandas的两种数据结构_其他

2:Series常见的属性:

  • 1:加载csv文件时,指定index_col就能得到一个Series对象。
  • 2:使用行索引标签可以选中一条记录。
  • 3:可以通过 index 和 values属性获取行索引和值。
  • 4:也可以通过keys()方法获取所有的行索引。

(三)Pandas的两种数据结构_加载_02
(三)Pandas的两种数据结构_加载_03
(三)Pandas的两种数据结构_数据_04
(三)Pandas的两种数据结构_重置_05
(三)Pandas的两种数据结构_数据_06

3:Series常见的方法:

  • 1: mean() 取平均
  • 2:min()取最小值
  • 3:max()取最大值
  • 4:std()取标准差
  • 5:value_counts()方法,可以返回不同值的条目数量。
  • 6:count() : 统计非空数量。
  • 7:通过describe()方法打印描述信息。
    (三)Pandas的两种数据结构_重置_07

(三)Pandas的两种数据结构_加载_08
(三)Pandas的两种数据结构_重置_09
拿到所有名字,包括重复的,然后根据名字分组,统计每组的数量,然后逆序排序。
(三)Pandas的两种数据结构_数据_10
(三)Pandas的两种数据结构_其他_11
(三)Pandas的两种数据结构_加载_12

4:Series的布尔索引:

  • 1:ages>ages.mean()得到的是每个数据和平均值比较的结果:True/False
  • 2:相当于一个列表ages[True, False, True], 结果就是只显示为True的。
    (三)Pandas的两种数据结构_数据_13

5:Series的运算:

  • 1:Series和数值型变量计算时,变量会与Series中的每个元素逐一进行计算。
  • 2:两个Series之间计算,如果Series元素个数相同,则将两个Series对应元素进行计算。
  • 3:元素个数不同的Series之间进行计算,会根据索引进行。索引不同的元素最终计算的结果会填充成缺失值,用NaN表示。
  • 4:Series之间进行计算时,数据会尽可能依据索引标签进行相互计算。

三:DataFrame创建和属性以及方法:

1:DataFrame的创建:

(三)Pandas的两种数据结构_加载_14

2:DataFrame常见的属性:

  • 1:.shape 行和列
  • 2:.size 数据的个数
  • 3:.ndim 数据集 的维度
  • 4:len() 数据集的长度
  • 5:.count()各个列的个数:
  • 6:.min() 各个列的最小值
  • 7: describe() 各个列的描述详情。

3:DataFrame的布尔索引:

(三)Pandas的两种数据结构_数据_15

4:DataFrame的运算:

  • 1: DataFrame与数字运算,每个元素与数字运算,如果是数字则运算,如果是字符串与数字,则可能是字符串成倍增加:scientists*2
  • 2:两个 DataFrame,根据索引,一一运算。
  • 3:两个DataFrame数据条目数不同时,会根据索引进行计算,索引不匹配的会返回NaN。

四:更改Series和DataFrame:

1: 设置行索引:

1: 加载某一行的时候指定某一列作为索引:

movie = pd.read_csv(‘C:/Users/11737/Desktop/机器学习课件/data/movie.csv’, index_col=‘movie_title’)
movie

2:重置索引:

movie.reset_index() 注意这个重置索引是暂时的,不是永久的,只是这一次恢复原来的索引。

2: 修改行名和列名:

1: 查看前5条行索引:movie.index[:5]
2: 查看前5条列索引:movie.columns[:5]
(三)Pandas的两种数据结构_数据_16
3: 修改行名和列名:

idx_rename = {‘Avatar’:‘Ratava’, ‘Spectre’: ‘Ertceps’}
col_rename = {‘director_name’:‘Director Name’, ‘num_critic_for_reviews’: ‘Critical Reviews’}
movie.rename(index=idx_rename,columns=col_rename).head()

注意:先定义字典,键是原名,值是修改后的名字。
使用的方法是:rename(index=, columns= )

4: 另外一种方法:提取索引,修改。重新赋值:
(三)Pandas的两种数据结构_数据_17

3: 添加,删除,插入列:

(三)Pandas的两种数据结构_数据_18

五:导入和导出数据:

(三)Pandas的两种数据结构_其他_19
(三)Pandas的两种数据结构_加载_20
(三)Pandas的两种数据结构_数据_21

1: 导出导入成pickle文件:

(三)Pandas的两种数据结构_数据_22

2:保存成CSV文件:

(三)Pandas的两种数据结构_其他_23

3:保存成Excel文件:

(三)Pandas的两种数据结构_数据_24