鱼C论坛

 找回密码
 立即注册
查看: 2905|回复: 2

[已解决]数据帧的某列是五角星,能统计它的个数转化为数字吗?请大师帮忙,谢谢

[复制链接]
发表于 2023-5-6 18:46:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
数据帧的某列是五角星,能统计它的个数,而转化为数字吗?请大师帮忙,谢谢
公司评级
★★★★
★★★★
★★★★
★★★★
★★★
★★★★★
★★★★
★★★★
最佳答案
2023-5-6 18:47:51
当然可以。我假设您使用的是Python和pandas库。这里有一个简单的方法来解决您的问题:

1. 首先,将评级数据存储为一个列表。
2. 然后,将此列表转换为一个pandas数据帧。
3. 接着,使用apply函数将星级转换为数字。

以下是实现这一过程的代码:

  1. import pandas as pd

  2. # 存储评级数据
  3. ratings = ['★★★★', '★★★★', '★★★★', '★★★★', '★★★', '★★★★★', '★★★★', '★★★★']

  4. # 将列表转换为数据帧
  5. df = pd.DataFrame(ratings, columns=['公司评级'])

  6. # 定义一个函数将星级转换为数字
  7. def stars_to_number(rating):
  8.     return len(rating)

  9. # 使用apply函数将星级转换为数字
  10. df['公司评级'] = df['公司评级'].apply(stars_to_number)

  11. # 统计各星级的个数
  12. count = df['公司评级'].value_counts()

  13. print(df)
  14. print(count)
复制代码


执行这段代码后,您将得到以下结果:

  1.    公司评级
  2. 0      4
  3. 1      4
  4. 2      4
  5. 3      4
  6. 4      3
  7. 5      5
  8. 6      4
  9. 7      4

  10. 4    6
  11. 5    1
  12. 3    1
  13. Name: 公司评级, dtype: int64
复制代码


这将显示一个新的数据帧,其中列出了原始星级的数字表示,以及每个星级的个数。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-6 18:47:51 | 显示全部楼层    本楼为最佳答案   
当然可以。我假设您使用的是Python和pandas库。这里有一个简单的方法来解决您的问题:

1. 首先,将评级数据存储为一个列表。
2. 然后,将此列表转换为一个pandas数据帧。
3. 接着,使用apply函数将星级转换为数字。

以下是实现这一过程的代码:

  1. import pandas as pd

  2. # 存储评级数据
  3. ratings = ['★★★★', '★★★★', '★★★★', '★★★★', '★★★', '★★★★★', '★★★★', '★★★★']

  4. # 将列表转换为数据帧
  5. df = pd.DataFrame(ratings, columns=['公司评级'])

  6. # 定义一个函数将星级转换为数字
  7. def stars_to_number(rating):
  8.     return len(rating)

  9. # 使用apply函数将星级转换为数字
  10. df['公司评级'] = df['公司评级'].apply(stars_to_number)

  11. # 统计各星级的个数
  12. count = df['公司评级'].value_counts()

  13. print(df)
  14. print(count)
复制代码


执行这段代码后,您将得到以下结果:

  1.    公司评级
  2. 0      4
  3. 1      4
  4. 2      4
  5. 3      4
  6. 4      3
  7. 5      5
  8. 6      4
  9. 7      4

  10. 4    6
  11. 5    1
  12. 3    1
  13. Name: 公司评级, dtype: int64
复制代码


这将显示一个新的数据帧,其中列出了原始星级的数字表示,以及每个星级的个数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-6 18:49:46 | 显示全部楼层
  1. ratings = '''★★★★
  2. ★★★★
  3. ★★★★
  4. ★★★★
  5. ★★★
  6. ★★★★★
  7. ★★★★
  8. ★★★★'''.splitlines()
  9. res = []
  10. for line in lines:
  11.     res.append(line.count('★'))
  12. for re in res:
  13.     print(re)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-29 03:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表