Pandas知识点总结

您所在的位置:网站首页 pandas考点 Pandas知识点总结

Pandas知识点总结

2022-05-17 19:40| 来源: 网络整理| 查看: 265

Pandas基于Numpy构建

Pandas最初被作为金融数据分析而开发出来,因而Pandas为时间序列分析提供了很好的支持

安装:cmd窗口中输入

pip install pandas

使用时,要先导入

import pandas as pd 1.Pandas中的数据结构 

1-1.Series----序列

from pandas import Series # 1-创建Series obj = Series([4, 7, -5, 3]) print(obj) 输出结果:(左边的是index,右边的是values) 0 4 1 7 2 -5 3 3 dtype: int64 # 2-获取index print(obj.index) 输出结果: RangeIndex(start=0, stop=4, step=1) # 3-获取values print(obj.values) 输出结果: [ 4 7 -5 3] # 4-可以指定索引---(例如将索引指定为日期) obj = Series([4, 7, -5, 3], index=['3/1', '3/2', '3/3', '3/4']) print(obj) 输出结果: 3/1 4 3/2 7 3/3 -5 3/4 3 dtype: int64 # 5-获取指定索引的值 print(obj['3/3']) # 6-获取指定条件的值(如:获得大于0的值) print(obj[obj>0]) # 7-in判断是否存在 print('3/3' in obj)----True print('3/6' in obj)----False # 8-通过字典创建Series dict1 = {'3/1': 4, '3/2': 7, '3/3': -5, '3/4': 3} print(dict1) r = Series(dict1) print(r)

1-2.DataFrame---数据框

from pandas import DataFrame # 1-创建数据框(直接传入一个由等长列表或numpy数组组成的字典) # 先定义2个列表 position = ['产品经理', '数据分析师', 'UI', '产品经理', '开发'] company = ['百度', '腾讯', '阿里', '网易', '京东'] df = DataFrame([position, company]) # 将两组数据合成一个表格 print(df) 输出结果: 0 1 2 3 4 0 产品经理 数据分析师 UI 产品经理 开发 1 百度 腾讯 阿里 网易 京东 # 2-将上述列子的第一行作为第一列 df = DataFrame([position, company]).T #---加.T print(df) 输出结果: 0 1 0 产品经理 百度 1 数据分析师 腾讯 2 UI 阿里 3 产品经理 网易 4 开发 京东 # 3-columns指定列名 df.columns = ['职位名', '公司名'] print(df) 输出结果: 职位名 公司名 0 产品经理 百度 1 数据分析师 腾讯 2 UI 阿里 3 产品经理 网易 4 开发 京东 # 4-index指定行名 df.index = ['a', 'b', 'c', 'd', 'e'] print(df) 输出结果: 职位名 公司名 a 产品经理 百度 b 数据分析师 腾讯 c UI 阿里 d 产品经理 网易 e 开发 京东 # 5-1-重置index print(df.reset_index(drop=True)) # 5-2-重置index,并保存之前的索引 print(df.reset_index()) # 6-显示前面n行数据 print(df.head(n)) # 7-显示后面n行数据 print(df.tail(n)) # 8-获取某一列的值 # 8-1-方式1 r = df["职位名"] print(r) # 8-2-方式2 r = df.职位名 print(r) # 9-获取某一行的值 # 9-1-方式1 r = df.loc["c"] print(r) # 方式2 r = df.iloc[3] print(r) 2-Pandas中一些常用的功能 import numpy as np from pandas import Series from pandas import DataFrame # 创建一个数据框 # 先创建一个4x4的数组 arr = np.arange(16).reshape((4, 4)) # 1-指定行名和列名 df = DataFrame(data=arr, index=['a', 'b', 'c', 'd'], columns=['one', 'two', 'three', 'four']) print(df) 输出结果: one two three four a 0 1 2 3 b 4 5 6 7 c 8 9 10 11 d 12 13 14 15 # 2-删除某行 r = df.drop('b') print(r) 输出结果: one two three four a 0 1 2 3 c 8 9 10 11 d 12 13 14 15 # 3-删除某列 r = df.drop('two', axis=1) # axis=1表示按列执行 print(r) 输出结果: one three four a 0 2 3 b 4 6 7 c 8 10 11 d 12 14 15 # 4-查找x列,值为y的记录(将显示一行的值) r = df[df["four"] == 7] # four列,值为7 print(r) 输出结果: one two three four b 4 5 6 7 # 5-唯一值 unique # 先创建一个序列 obj = Series([1, 2, 2, 3, 3, 4, 5, 5, 5]) print(obj) r = obj.unique() print(r) 输出结果: [1 2 3 4 5] # 6-频率统计,value_counts(),频率从高到低排序 r = obj.value_counts() print(r) 输出结果: 5 3 3 2 2 2 4 1 1 1 dtype: int64 # 7-频率统计,value_counts(),不排序 r = obj.value_counts(sort=False) print(r) 输出结果: 1 1 2 2 3 2 4 1 5 3 dtype: int64

3.Pandas中常用的数学和统计函数

创建一个数据框 arr = np.arange(16).reshape((4, 4)) df = DataFrame(data=arr, index=['a', 'b', 'c', 'd'], columns=['one', 'two', 'three', 'four']) print(df) 输出结果: one two three four a 0 1 2 3 b 4 5 6 7 c 8 9 10 11 d 12 13 14 15 # 1-describe,描述性统计分析 r = df.describe() print(r) 输出结果: one two three four count 4.000000 4.000000 4.000000 4.000000 mean 6.000000 7.000000 8.000000 9.000000 std 5.163978 5.163978 5.163978 5.163978 min 0.000000 1.000000 2.000000 3.000000 25% 3.000000 4.000000 5.000000 6.000000 50% 6.000000 7.000000 8.000000 9.000000 75% 9.000000 10.000000 11.000000 12.000000 max 12.000000 13.000000 14.000000 15.000000 # 2-求和--对每一列 r = df.sum() print(r) 输出结果: one 24 two 28 three 32 four 36 dtype: int64 # 3-均值mean()--对每一列 r = df.mean() print(r) 输出结果: one 6.0 two 7.0 three 8.0 four 9.0 dtype: float64 # 4-累计求和cumsum--对行 r = df.cumsum() print(r) 输出结果: one two three four a 0 1 2 3 b 4 6 8 10 c 12 15 18 21 d 24 28 32 36 # 5-求每一列的最大值 r = df.max() print(r) 输出结果: one 12 two 13 three 14 four 15 dtype: int32 # 创建一个数据框 position = ['产品经理', '数据分析师', 'UI', '产品经理', '开发'] company = ['百度', '腾讯', '阿里', '网易', '京东'] df = DataFrame([position, company]).T print(df) # 6-非数值型数据的描述性统计分析 r = df.describe() print(r) 输出结果: 0 1 count 5 5 unique 4 5 top 产品经理 腾讯 freq 2 1

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3