Pandas的基本功能

目录

1. pandas常用基本功能

1.1  查看信息类函数

# 查看前几行数据df.values

# 查看数据的形状,返回(行数、列数)df.shape

#查看行索引df.index

#设置索引

df.set_index 设置索引

df.reset_index 重制索引

#获取列索引df.columns

重新设置列表名

重新设置列表名

#查看每列数据类型,object为通用数据类型,一般某列中有多种数据类型,或者全为str,则类型为object。默认int、float类型的位数为操作系统位数。df.dtypes

df.axes 获取行及列索引

df.T 行与列对调

df.head(i) 显示前 i 行数据

df.tail(i) 显示后 i 行数据

df.describe() 查看数据按列的统计信息

1.2  数据统计类函数

df.count() 返回每一列中的非空值的个数


1. pandas常用基本功能

DataFrame() 创建一个DataFrame对象
df.values 返回ndarray类型的对象
df.shape 返回行列数
df.index 获取行索引
df.set_index 设置索引
df.reset_index 重制索引
df.columns 获取列索引
df.rename 重新设置列名
df.dtypes 查看每列数据类型
df.axes 获取行及列索引
df.T 行与列对调
df.info() 打印DataFrame对象的信息
df.head(i) 显示前 i 行数据
df.tail(i) 显示后 i 行数据
df.count() # 返回每一列中的非空值的个数
df.value_counts() #按值计数
df.unique() 唯一去从
df.describe() 查看数据按列的统计信息
df.sum() # 返回每一列的和, 无法计算返回空, 下同
df.sum(numeric_only=True) # numeric_only=True代表只计算数字型元素, 下同
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.argmax() # 返回最大值所在的自动索引位置
df.argmin() # 返回最小值所在的自动索引位置
df.idxmax() # 返回最大值所在的自定义索引位置
df.idxmin() # 返回最小值所在的自定义索引位置
df.mean() # 返回每一列的均值
df.median() # 返回每一列的中位数
df.var() # 返回每一列的方差
df.std() # 返回每一列的标准差
df.isnull() # 检查df中空值, NaN为True, 否则False, 返回一个布尔数组
df.notnull() # 检查df中空值, 非NaN为True, 否则False, 返回一个布尔数组

 #######################################

使用pd.read_csv读取数据

>>> import pandas as pd
>>> fpath = "/lianxi/datas/read_test.txt"
>>> df = pd.read_csv(fpath)
>>> df
          date   prov    isp    pv    uv
0   2020-04-26  hunan  cmnet  2000  1000
1   2020-04-26  hunan  cmnet  3000  1500
2   2020-04-26  hunan   cmcc  4000  1000
3   2020-04-26  hubei    ctc  2500  1000
4   2020-04-26  hubei   cmcc  2000  1000
5   2020-04-26  hubei    ctc  2100  1600
6   2020-04-27  hunan  cmnet  4000  1700
7   2020-04-27  hunan  cmnet  3200  1500
8   2020-04-27  hunan   cmcc  2800  1600
9   2020-04-27  hubei    ctc  2600  1400
10  2020-04-27  hubei   cmcc  3800  1900
11  2020-04-27  hubei    ctc  2400  1900
>>> 

 ####################################### 

1.1  查看信息类函数

# 查看前几行数据
df.values

# 查看前几行数据
df.values
array([['2020-04-26', 'hunan', 'cmnet', 2000, 1000],
       ['2020-04-26', 'hunan', 'cmnet', 3000, 1500],
       ['2020-04-26', 'hunan', 'cmcc', 4000, 1000],
       ['2020-04-26', 'hubei', 'ctc', 2500, 1000],
       ['2020-04-26', 'hubei', 'cmcc', 2000, 1000],
       ['2020-04-26', 'hubei', 'ctc', 2100, 1600],
       ['2020-04-27', 'hunan', 'cmnet', 4000, 1700],
       ['2020-04-27', 'hunan', 'cmnet', 3200, 1500],
       ['2020-04-27', 'hunan', 'cmcc', 2800, 1600],
       ['2020-04-27', 'hubei', 'ctc', 2600, 1400],
       ['2020-04-27', 'hubei', 'cmcc', 3800, 1900],
       ['2020-04-27', 'hubei', 'ctc', 2400, 1900]], dtype=object)

 ####################################### 

# 查看数据的形状,返回(行数、列数)
df.shape

>>> df.shape
(12, 5)

 ####################################### 

#查看行索引
df.index

>>> df.index
RangeIndex(start=0, stop=12, step=1)

 ####################################### 

#设置索引

df.set_index 设置索引

>>> df2 = df.set_index('date')
>>> df2
             prov    isp    pv    uv
date                                
2020-04-26  hunan  cmnet  2000  1000
2020-04-26  hunan  cmnet  3000  1500
2020-04-26  hunan   cmcc  4000  1000
2020-04-26  hubei    ctc  2500  1000
2020-04-26  hubei   cmcc  2000  1000
2020-04-26  hubei    ctc  2100  1600
2020-04-27  hunan  cmnet  4000  1700
2020-04-27  hunan  cmnet  3200  1500
2020-04-27  hunan   cmcc  2800  1600
2020-04-27  hubei    ctc  2600  1400
2020-04-27  hubei   cmcc  3800  1900
2020-04-27  hubei    ctc  2400  1900

 ####################################### 

df.reset_index 重制索引

>>> df2.reset_index(inplace=True,drop=True)
>>> df2
     prov    isp    pv    uv
0   hunan  cmnet  2000  1000
1   hunan  cmnet  3000  1500
2   hunan   cmcc  4000  1000
3   hubei    ctc  2500  1000
4   hubei   cmcc  2000  1000
5   hubei    ctc  2100  1600
6   hunan  cmnet  4000  1700
7   hunan  cmnet  3200  1500
8   hunan   cmcc  2800  1600
9   hubei    ctc  2600  1400
10  hubei   cmcc  3800  1900
11  hubei    ctc  2400  1900

 ####################################### 

#获取列索引
df.columns

>>> df.columns
Index(['date', 'prov', 'isp', 'pv', 'uv'], dtype='object')

 ####################################### 

重新设置列表名

>>> df2 = df
>>> df2.columns=['a','b','c','d','e']
>>> df2
             a      b      c     d     e
0   2020-04-26  hunan  cmnet  2000  1000
1   2020-04-26  hunan  cmnet  3000  1500
2   2020-04-26  hunan   cmcc  4000  1000
3   2020-04-26  hubei    ctc  2500  1000
4   2020-04-26  hubei   cmcc  2000  1000
5   2020-04-26  hubei    ctc  2100  1600
6   2020-04-27  hunan  cmnet  4000  1700
7   2020-04-27  hunan  cmnet  3200  1500
8   2020-04-27  hunan   cmcc  2800  1600
9   2020-04-27  hubei    ctc  2600  1400
10  2020-04-27  hubei   cmcc  3800  1900
11  2020-04-27  hubei    ctc  2400  1900

 ####################################### 

重新设置列表名

>>> df2.rename(columns={'a':'日期','b':'省份','c':'运营商','d':'pv','e':'uv'},inplace = True)
>>> df2
            日期     省份    运营商    pv    uv
0   2020-04-26  hunan  cmnet  2000  1000
1   2020-04-26  hunan  cmnet  3000  1500
2   2020-04-26  hunan   cmcc  4000  1000
3   2020-04-26  hubei    ctc  2500  1000
4   2020-04-26  hubei   cmcc  2000  1000
5   2020-04-26  hubei    ctc  2100  1600
6   2020-04-27  hunan  cmnet  4000  1700
7   2020-04-27  hunan  cmnet  3200  1500
8   2020-04-27  hunan   cmcc  2800  1600
9   2020-04-27  hubei    ctc  2600  1400
10  2020-04-27  hubei   cmcc  3800  1900
11  2020-04-27  hubei    ctc  2400  1900
>>> 

 ####################################### 

#查看每列数据类型,object为通用数据类型,一般某列中有多种数据类型,或者全为str,则类型为object。默认int、float类型的位数为操作系统位数。
df.dtypes

>>> df.dtypes
日期     object
省份     object
运营商    object
pv      int64
uv      int64
dtype: object

 ####################################### 

df.axes 获取行及列索引

>>> df.axes
[RangeIndex(start=0, stop=12, step=1), Index(['日期', '省份', '运营商', 'pv', 'uv'], dtype='object')]

 ####################################### 

df.T 行与列对调

>>> df.T
             0           1           2   ...          9           10          11
日期   2020-04-26  2020-04-26  2020-04-26  ...  2020-04-27  2020-04-27  2020-04-27
省份        hunan       hunan       hunan  ...       hubei       hubei       hubei
运营商       cmnet       cmnet        cmcc  ...         ctc        cmcc         ctc
pv         2000        3000        4000  ...        2600        3800        2400
uv         1000        1500        1000  ...        1400        1900        1900

[5 rows x 12 columns]
>>> 

 ####################################### 

df.head(i) 显示前 i 行数据

>>> df.head(5)
           日期     省份    运营商    pv    uv
0  2020-04-26  hunan  cmnet  2000  1000
1  2020-04-26  hunan  cmnet  3000  1500
2  2020-04-26  hunan   cmcc  4000  1000
3  2020-04-26  hubei    ctc  2500  1000
4  2020-04-26  hubei   cmcc  2000  1000
>>> 

 ####################################### 


df.tail(i) 显示后 i 行数据

>>> df.tail(5)
            日期     省份    运营商    pv    uv
7   2020-04-27  hunan  cmnet  3200  1500
8   2020-04-27  hunan   cmcc  2800  1600
9   2020-04-27  hubei    ctc  2600  1400
10  2020-04-27  hubei   cmcc  3800  1900
11  2020-04-27  hubei    ctc  2400  1900

 ####################################### 

df.describe() 查看数据按列的统计信息

>>> df.describe()
                pv           uv
count    12.000000    12.000000
mean   2866.666667  1425.000000
std     743.863787   346.738046
min    2000.000000  1000.000000
25%    2325.000000  1000.000000
50%    2700.000000  1500.000000
75%    3350.000000  1625.000000
max    4000.000000  1900.000000

 ####################################### 

1.2  数据统计类函数

df.count() 返回每一列中的非空值的个数

>>> df.count()
日期     12
省份     12
运营商    12
pv     12
uv     12
dtype: int64
>>> df['省份'].value_counts()
hunan    6
hubei    6
Name: 省份, dtype: int64
>>> df['省份'].unique()
array(['hunan', 'hubei'], dtype=object)

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas是一个强大的数据处理和分析工具,它提供了丰富的功能和方法来处理和操作数据。以下是一些Pandas的基本方法: 1. 创建DataFrame:可以使用Pandas的DataFrame对象来创建和操作数据表。可以通过传入字典、列表、数组等不同的数据结构来创建DataFrame。 2. 读取和写入数据:Pandas可以读取和写入各种格式的数据,如CSV、Excel、SQL数据库等。可以使用`read_csv()`、`read_excel()`等方法读取数据,使用`to_csv()`、`to_excel()`等方法写入数据。 3. 数据查看和统计:可以使用`head()`方法查看DataFrame的前几行数据,默认为前5行;使用`tail()`方法查看DataFrame的后几行数据,默认为后5行。还可以使用`describe()`方法获取DataFrame的统计信息,如均值、标准差、最小值、最大值等。 4. 数据选择和过滤:可以使用`loc[]`和`iloc[]`方法进行数据的选择和过滤。`loc[]`用于基于标签进行选择,`iloc[]`用于基于位置进行选择。可以通过传入行索引和列索引来选择特定的数据。 5. 数据排序:可以使用`sort_values()`方法对DataFrame进行排序。可以指定要排序的列名以及升序或降序排列。 6. 数据聚合和分组:可以使用`groupby()`方法对数据进行分组和聚合操作。可以根据某一列或多列进行分组,并应用聚合函数(如求和、平均值、计数等)。 7. 缺失值处理:可以使用`isnull()`和`fillna()`方法来处理缺失值。`isnull()`方法用于检测缺失值,`fillna()`方法用于填充缺失值。 8. 数据合并和连接:可以使用`merge()`和`concat()`方法将多个DataFrame进行合并和连接。`merge()`方法可以根据指定的列将两个DataFrame进行合并,`concat()`方法可以将多个DataFrame按行或列进行连接。 9. 数据可视化:Pandas提供了简单易用的数据可视化功能,可以使用`plot()`方法绘制各种类型的图表,如折线图、柱状图、散点图等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值