Pandas基础——第一次打卡

本文介绍了Pandas的基础知识,包括文件的读取和写入,如CSV、TXT、XLS等格式。重点讲解了Series和DataFrame两种核心数据结构,以及常用的基本函数如head、tail、unique等。还探讨了排序方法,如索引排序和值排序,并给出了系列问题及解答,涉及数据统计、描述和分析。此外,文章提供了两个练习,帮助读者巩固Pandas的使用技巧。

目前pandas最新版本1.0.3

文件读取和写入

读取

pandas 能读取csv ,txt ,xls或者xls格式的文件。

写入

pandas 能写入csv ,xls或者xls格式的文件。

基本数据结构

Series

对于一个Series,其中最常用的属性为值(values),索引(index),名字(name),类型(dtype)

DataFrame

就是表

常用基本函数

head和tai、unique和nunique、count和value_counts、describe和info、idxmax和nlarges(idxmax函数返回最大值,在某些情况下特别适用,idxmin功能类似;nlargest函数返回前几个大的元素值,nsmallest功能类似)、clip和replace(clip和replace)、apply(后加匿名函数)

排序

索引排序

表.set_index(‘索引’).head()

值排序

表.sort_values(by=‘Class’).head()

问题

【问题一】 Series和DataFrame有哪些常见属性和方法?

Series属性为值(values),索引(index),名字(name),类型(dtype)
Series方法有Series.values 返回值;Series.name 返回命名;Series.index返回索引;Series.dtype 返回数据类型;Series[‘a’]返回a的值;Series.mean()返回平均数等

DataFrame的属性有列和索引,与表格相同
DataFrame的方法有常用方法为统计数据,描述数据有describe和info、idxmax和nlarges(idxmax函数返回最大值,在某些情况下特别适用,idxmin功能类似;nlargest函数返回前几个大的元素值,nsmallest功能类似)、groupby等

【问题二】 value_counts会统计缺失值吗?

可以

【问题三】 与idxmax和nlargest功能相反的是哪两组函数?

nsmallest():返回最小的数
idxmin():返回最小数的索引

【问题四】 在常用函数一节中,由于一些函数的功能比较简单,因此没有列入,现在将它们列在下面,请分别说明它们的用途并尝试使用。

sum:求和
mean: 求平均值
median: 中位数
mad: 根据平均值计算平均绝对离差
min: 最小值
max: 最大值
abs: 绝对值
std: 标准差
var: 方差
quantile: P分位数,常见为四分位
cummax: 取每一列的最大
cumsum: 每一列累加
cumprod: 对每一列累乘
diff: 一阶差分
pct_change: 百分数变化
corr: 计算列一列的相关性,不计算包括NA / null值的列

【问题五】 df.mean(axis=1)是什么意思?它与df.mean()的结果一样吗?第一问提到的函数也有axis参数吗?怎么使用?

df.mean(axis=1)是表示在列的水平方向算均值
df.mean()是表示在列方向算均值

练习一

现有一份关于美剧《权力的游戏》剧本的数据集,请解决以下问题:
(a)在所有的数据中,一共出现了多少人物?
a[‘Name’].unique()
(b)以单元格计数(即简单把一个单元格视作一句),谁说了最多的话?
a.groupby([‘Name’])[‘Sentence’].count()
(c)以单词计数,谁说了最多的单词?
df_words = df.assign(Words=df[‘Sentence’].apply(lambda x:len(x.split()))).sort_values(by=‘Name’)

练习二

b.groupby([‘action_type’,‘combined_shot_type’]).count()

Pandas是一个强大的数据处理库,常用于Python数据分析任务。对于"shopping-thread"这个场景,如果是指使用Pandas进行一些与购物相关的数据操作或分析,比如从CSV、Excel文件或网络API获取购物数据,然后对数据进行清洗(如处理缺失值、异常值),整理(如分组、排序、透视表),或者进行统计分析(如销售额排名、用户购买习惯等),我们通常会按照以下步骤进行: 1. **导入模块**:首先需要导入pandas库以及可能需要用到的其他库,如requests(处理HTTP请求)、BeautifulSoup(解析HTML)。 ```python import pandas as pd import requests from bs4 import BeautifulSoup ``` 2. **数据加载**:如果数据来自网页,可以使用requests和BeautifulSoup爬取数据,然后转换成DataFrame。 ```python url = 'http://example.com/shopping-data' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') data = pd.DataFrame(soup.find_all('div', class_='product')) # 假设产品信息在这样的标签中 ``` 3. **数据清洗和预处理**:去除无关信息,填充缺失值,统一数据格式。 ```python data = data.dropna() # 删除缺失值 data['price'] = data['price'].astype(float) # 将价格字段转为数值类型 ``` 4. **数据分析**:利用Pandas提供的函数进行数据探索和计算。 ```python grouped_data = data.groupby('category')['sales'].sum() # 按类别汇总销售量 top_products = data.sort_values(by='sales', ascending=False)[:10] # 获取销量最高的前10产品 ``` 5. **保存结果**:将分析结果保存到本地文件或数据库。 ```python data.to_csv('shopping_analysis.csv') # 保存到csv文件 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值