Pandas知识点总结

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

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas的重点知识点主要包括以下几个方面: 1. Pandas与NumPy的关系:Pandas是基于NumPy实现的,它们互为补充。Pandas的核心数据结构与NumPy的ndarray相似,但Pandas在数据处理方面更强大和智能,而NumPy更基础和强大。 2. 数据分析中的Data Frame操作:Data Frame是Pandas中最常用的数据结构,类似于Excel中的表格。对Data Frame进行各种操作是进行数据分析的基础操作,比如数据筛选、排序、切片等。 3. 分组聚合:利用Pandas进行数据分析时,经常需要根据某些特征将数据分组,并对每个分组进行聚合计算,如求和、计数、均值等。这种分组聚合操作可以帮助我们快速统计和分析数据。 4. Series:Series是Pandas中的一维数据结构,类似于Excel中的列。它由一组数据和与之关联的索引组成,可以对数据进行标签化的访问和操作。 总结来说,Pandas的重点知识点包括Pandas与NumPy的关系、Data Frame的操作、分组聚合以及Series的使用。掌握这些知识点可以帮助你更好地进行数据分析和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pandas知识点超全总结](https://blog.csdn.net/Itsme_MrJJ/article/details/126101002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值