Pandas数据分析基础

一)安装Pandas库

使用之前确保已经安装了Pandas库,Pycharm有非常简单的操作,将下面代码粘贴到Pycharm的第一行,然后安ALT+回车,install即可。

import pandas as pd

二)基本类型:

Series相当于excel一列数据。其实就是一个列表类型
DataFrame相当于一个excel表格,每一列元素都是Series类型

一、Series使用

使用时只需要传入一个列表即可,本质就是一个列表,区别在于其索引可以不是0~n,可以自定义索引。

import pandas as pd

series = pd.Series([1, 2, 3, 4], index=['one', 'two', 'third', 'forth'])
print(series)
print(series[0])
print(series['one'])
构造方法的index:设置自定义的索引类型
访问:1、切片访问。2、s[索引]   3、s[自定义索引]
追加元素:x.append(序列)追加一个元素也必须是[ ]序列。x.append(['2'])
获取全部值:x.values可以通过in的方法判断其是否在里面
删除目标元素:主要是通过[条件来实现的]s[2!=x.values]删除里面为2的元素
删除某个位置的:x.drop(索引 或者 自定义索引)
修改自定义索引:x.index=[自定义索引列表]
根据索引进行排序:

 二)DataFream类型

DataFream,我们只需要将其看成一个excel表即可,也就是一个二维数组。

  •  构造方法:最简单的就是传入一个字典类型进行构造,key表示列名,value表示每一列的数据值。

访问数据:

at是访问数据的一个元素,iloc是获得一个dataFrame表格,但是at可以支持行自定义索引访问
DataFrame类型支持切片访问数据,仍然是左开右闭

 示例代码:

import pandas as pd
import numpy as np

# np.nan表示是一个空数据
# index属性是给每一行起索引名称
df = pd.DataFrame({'age': [1, np.nan, 3]
                      , "area": ['BJ', 'SH', 'HZ']
                      , "name": ['Lisi', 'Wang', 'Zhang']}
                  , index=['first', 'second', 'third'])
print(f"DataFrame类型为:\n{df}\n")
print(f"最后两列数据为:\n{df[1:3]}\n")
print(f'SH为起点,Zhang为终点的数据\n{df.iloc[1:3, 1:3]}\n')
print(f'索引访问表格第一个数据为\n{df["age"][0]}\n')
print(f'at访问数据为:\n{df.at["first", "age"]}')

 

 其他操作:

修改索引名称:右边可以是列表也可以是range参数df.index=
修改索引名称:参数与行同df.columns=
删除行:axis参数必须等于0,如果没有设置行索引可以通过0123选择删除某一行,若设置了行索引必须通过行索引名称删除。df =df.drop("行索引",axis=0)

删除列:参数是列名,axis必须是1

               或通过df[’列名‘]删除

df =df.drop("列索引",axis=1)

del df['列索引名']

添加列:直接通过字典的方式添加即可df['新列名']=新数据
获取列数:df.shape[1]
获取行数:df.shape[0]或len(df)

代码 :

import pandas as pd
import numpy as np

# np.nan表示是一个空数据
df = pd.DataFrame({'age': [1, np.nan, 3]
                      , "area": ['BJ', 'SH', 'HZ']
                      , "name": ['Lisi', 'Wang', 'Zhang']}
                  )
# 删除特定行
df = df.drop(1, axis=0)
print(df)
print(f'列数:{df.shape[1]}')
print(f'行数:{df.shape[0]}')
print(f'行数:{len(df)}')
# 删除特定列
del df['age']
# 添加列
df['new'] = [i for i in range(1, 3)]
# 添加行
df_new = pd.DataFrame({"area": [1, 2], "name": [3, 4], "new": [7, 8]})
df = df.append(df_new, ignore_index=True)  # ignore_index索引从0开始重新定义
# 索引从1开始重新定义:
df.index = range(1, len(df) + 1)
print(df)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值