Pandas入门

Pandas是数据分析中经常用到的一个知识模块,我会用知识点+例子的方法给大家细讲Pandas。

1.创建、展示数据

创建数据框 pd.DataFrame({ ‘k1’:v1, ‘k2’:v2’, ‘k3’:v3 })
展示数据 df.head()

name = [‘赵一’,‘钱二’,‘孙三’,‘李四’,‘周五’,‘吴六’,‘郑七’]

s1 = [80,99,98,65,32,33,85]

s2 = [77,85,95,62,0,53,25]

address = [‘兰州’,‘成都’,‘贵阳’,‘拉萨’,‘长春’,‘沈阳’,‘上海’]

s1,s2,address --> 值,

name --> 索引,

[‘score1’,‘score2’,‘address’] --> 列名

创建数据框df,只展示前5行

name = ['赵一','钱二','孙三','李四','周五','吴六','郑七']
s1 = [80,99,98,65,32,33,85]
s2 = [77,85,95,62,0,53,25]
address = ['兰州','成都','贵阳','拉萨','长春','沈阳','上海']

df = pd.DataFrame({'score1':s1,'score2':s2,'address':address},index=name)
df.head(5)

# df.info()

2.重建索引、赋值

重建索引 reindex()
赋值 df.loc[‘index’, [‘k1’, ‘k2’] ] = [v1, v2]

重建索引:[‘赵一’,‘钱二’,‘孙三’,‘李四’,‘周五’,‘钱多多’]为索引创建新的数据框df1

赋值:补充 钱多多 的 score1 和 address 为 60、厦门

df1 = df.reindex(['赵一','钱二','孙三','李四','周五','钱多多'])	# 重建索引
df1.loc['钱多多',['score1','address']] = [60,'厦门']

3.列的增减

增加列

#df1上,增加列’class’,表示班级,全为’数科1班’

df1['class'] = '数科1班'
删除列

删除address列

del df1['address']	# 通过del删除

df1.drop(columns='address',inplace=True)	# 通过drop()函数删除

4.缺失值检查 isnull()

df.isnull()	# 全部
np.any(df.isnull())	# 全部
np.any(df.isnull(),0)	#按列
np.any(df.isnull(),1)	#按行

5.函数应用

applymap()

用applymap()实现将所有成绩改成10分制,

eg:32分 --> 3分

缺失值返回0

def f(x):
    try:
        return int(x/10)
    except:
        return 0
df1.iloc[:,:-1] = df1.iloc[:,:-1].applymap(f)

6.索引、切片

loc

输出df1中李四到钱多多三个同学的成绩数据

df1.loc['李四','钱多多']		
布尔索引

用布尔索引查找score1和score2都不小于6的同学的数据

df1[(df1.score1>=6) & (df1.score2>=6)]

7.广播机制

score_add = [2,1,0,1,2,3,3]

创建score_add为值,索引与df1相同的Series,记做s3;

将score1列和score2列的成绩都加上s3

score_add = [2,1,0,1,2,3]
s3 = pd.Series(score_add, index = df1.index)
# df1的所有score1和score2都加上s3:add(s3,axis=0)
df1[['score1','score2']] = df1[['score1','score2']].add(s3,axis=0)	# 按列

8.归约

输出每个同学的平均分,记为result

result = df1[['score1','score2']].mean(axis=1)
pd.DataFrame(result,columns=['平均分'])

9.排序、排名 DataFrame.rank()DataFrame.sort_values()

输入每个人的平均分排名,同样的分数排名相同,如第1名,第2名,第3名,第3名,第5名…

将该结果作为df1的新列score_rank,将数据df1按照刚才的排名顺序排列

DataFrame.rank(method=‘average’, ascending=True)

DataFrame.sort_values(by=‘ *** ', ascending=True, inplace=False)

df1['score_rank'] = result.rank(method='min',ascending=False)
df1.sort_values(by='score_rank')

10.描述性统计

输出df1的简单描述统计量 --> describe()

找出score_rank有哪些不同取值 --> unique()

各取值分别有多少人 --> value_counts()

df1.describe()
df1.info()
df1.score_rank.unique()
df1.score_rank.value_counts()

以上便是我根据日常实验整理出来的一些pandas知识点,如有错误,还请各位大佬指点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Pandas是一种基于NumPy的数据分析工具,它可以帮助我们对数据进行清洗、编辑和分析等工作。掌握Pandas的常规用法是构建机器学习模型的第一步。首先,我们需要安装Pandas。如果已经安装了Anaconda,可以直接使用Anaconda自带的包管理工具来安装Pandas。如果没有安装Anaconda,可以使用Python自带的包管理工具pip来安装Pandas,命令为pip install pandas。安装完成后,我们可以导入Pandas库并查询相应的版本信息。通常,我们还会导入NumPy库,因为Pandas和NumPy常常结合在一起使用。导入Pandas库的命令为import pandas as pd,导入NumPy库的命令为import numpy as np。要查询Pandas的版本信息,可以使用print(pd.__version__)命令。接下来,我们可以学习Pandas的数据类型,包括Series和DataFrame。Series是一种一维的数据结构,类似于数组或列表,而DataFrame是一种二维的数据结构,类似于表格。在学习Pandas的过程中,我们可以通过导入Excel数据、输出Excel数据、数据概览、数据查看、数据清洗、数据选择、数据排序、数据分组、数据透视、数据合并和数据可视化等操作来熟悉Pandas的用法。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [非常全面的Pandas入门教程](https://blog.csdn.net/weixin_44489066/article/details/89494395)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [pandas 快速入门教程](https://blog.csdn.net/down_12345/article/details/105345429)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值