import numpy as np import pandas as pd dic={"数量":[1,"兔",1,1,1,1,1,1,1,1], "产品名称":[2,1,1,1,np.nan,1,1,1,1,1], "产品描述":[1,34,1,4,1,3,4,5,6,7], "产品售价":[1,34,1,4,1,3,4,5,6,7]} i=[1,1,2,2,3,3,3,4,4,6] df = pd.DataFrame(dic,index=i) 1.数据中总的产品数量是多少? 2.购买数量最多的前5种产品的是什么?
时间: 2023-08-16 11:10:08 浏览: 136
好的,我明白了。针对你的问题:
1. 数据中总的产品数量是多少?
根据数据中 "数量" 这一列的值进行求和,可以得到总的产品数量为 10。
2. 购买数量最多的前5种产品的是什么?
可以通过对 "产品名称" 这一列进行分组,并对每组的 "数量" 进行求和,然后按照求和结果进行降序排列,最后选择前 5 行即可。代码如下:
```
top5 = df.groupby("产品名称")["数量"].sum().sort_values(ascending=False)[:5]
```
执行上述代码后,top5 中保存了购买数量最多的前 5 种产品及其对应的总数量。
相关问题
import numpy as np import pandas as pd dic={"动物":[1,"兔",1,1,1,1,1,1,1,1], "年龄":[2,4,1,1,np.nan,1,1,1,1,1], "访问次数":[1,34,1,4,1,3,4,5,6,7]} i=['a','b','c','d','e','f','g','h','i','j'] df = pd.DataFrame(dic,index=i) 1.从DataFrame中选取动物这一列 2.仅选择访问次数大于2的行 3.选择动物为兔且年龄小于3的行 4.计算df中所有访问次数的总和 6.计算df中每种不同动物的平均年龄 6.按照年龄降序,访问次数升序对df进行排序(排序后第i行是第一行,第d行应该是最后一行)
1. 选取动物这一列
```
df['动物']
```
2. 仅选择访问次数大于2的行
```
df[df['访问次数']>2]
```
3. 选择动物为兔且年龄小于3的行
```
df[(df['动物']=='兔') & (df['年龄']<3)]
```
4. 计算df中所有访问次数的总和
```
df['访问次数'].sum()
```
5. 计算df中每种不同动物的平均年龄
```
df.groupby('动物')['年龄'].mean()
```
6. 按照年龄降序,访问次数升序对df进行排序(排序后第i行是第一行,第d行应该是最后一行)
```
df.sort_values(by=['年龄', '访问次数'], ascending=[False, True])
```
import requests import json import pandas as pd import numpy as np def jd(url): id = url.replace('https://item.jd.com/', '').replace('.html', '') params = { 'callback': 'fetchJSON_comment98', 'productId': id, 'score': 0, 'sortType': 5, 'page': 0, 'pageSize': 10, 'isShadowSku': 0, 'fold': 1, } url = 'http://club.jd.com/comment/productPageComments.action' res = requests.get(url, params=params) json_str = res.text[20:-2] info_dic = json.loads(json_str) goodRate = info_dic.get('productCommentSummary').get('goodRate') poorRate = info_dic.get('productCommentSummary').get('poorRate') return goodRate, poorRate if __name__ == '__main__': path = "data/京东-运动鞋-处理后.csv" df = pd.read_csv(path) for i, row in df.iterrows(): df.loc[i, 'goods_goodRate'], df.loc[i, 'goods_poorRate'] = jd(row['goods_url']) df.to_csv(path, index=False, encoding='utf-8-sig')
这是一个Python程序,用于爬取京东商品的好评率和差评率。程序首先导入了必要的库,包括requests,json,pandas和numpy。然后定义了一个名为jd的函数,这个函数的作用是从京东网站上获取商品的好评率和差评率。函数的输入参数为一个商品链接url,函数内部将url解析成商品id,并以此构造请求参数params,然后使用requests库向京东服务器发送请求并获取响应结果。响应结果是一个JSON格式的字符串,需要使用json库将其解析成Python字典类型。从字典中获取商品的好评率和差评率,并将其返回给调用者。程序的主函数首先读取一个CSV文件,该文件包含了多个商品的信息,包括商品名称、商品链接等。然后使用Pandas库的iterrows方法遍历每一行商品信息,调用jd函数获取商品的好评率和差评率,并将这些信息保存回原CSV文件中。最后将CSV文件保存到磁盘上。
阅读全文