鱼C论坛

 找回密码
 立即注册
查看: 87|回复: 1

pandas求解

[复制链接]
发表于 2024-10-21 14:39:08 | 显示全部楼层 |阅读模式

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

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

x
已知:
      序号         姓名         信息
     1         张三         学生
     2         张三        河北人
     3         张三        会唱歌
     4         李四         学生
     5         李四        山东人
     6         李四        会游泳
     7         王五         教师
     8         王五        山东人
     9         王五        会游泳
   10         赵六        河北人
   11         赵六        会游泳
   12         赵六         教师
   13         关羽         学生
   14         关羽        山东人
   15         关羽        会唱歌
   16         刘备         教师
   17         刘备        南京人
   18         刘备        会砍柴
求解,任意二人之间 有几项信息是重复的  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-21 14:39:20 | 显示全部楼层
要解决这个问题,可以使用以下步骤:

1. **导入所需库**:确保你安装并导入了pandas库。
2. **创建DataFrame**:根据提供的数据创建一个pandas DataFrame。
3. **构建一个组合**:计算所有可能的两人组合。
4. **计算重复信息量**:比较每对组合的"信息"列之间的交集。

下面是示例代码:
import pandas as pd
from itertools import combinations

# 创建数据
data = {
    "序号": list(range(1, 19)),
    "姓名": ["张三", "张三", "张三", "李四", "李四", "李四",
             "王五", "王五", "王五", "赵六", "赵六", "赵六",
             "关羽", "关羽", "关羽", "刘备", "刘备", "刘备"],
    "信息": ["学生", "河北人", "会唱歌", "学生", "山东人", "会游泳",
             "教师", "山东人", "会游泳", "河北人", "会游泳", "教师",
             "学生", "山东人", "会唱歌", "教师", "南京人", "会砍柴"]
}

# 创建 DataFrame
df = pd.DataFrame(data)

# 获取所有唯一的人名
names = df['姓名'].unique()

# 保存重复信息的结果
results = []

# 计算每对人的重复信息
for (name1, name2) in combinations(names, 2):
    info1 = set(df[df['姓名'] == name1]['信息'])
    info2 = set(df[df['姓名'] == name2]['信息'])
    common_info = info1.intersection(info2)
    results.append((name1, name2, len(common_info)))

# 输出每对人之间共同的信息数量
for name1, name2, count in results:
    print(f"{name1} 和 {name2} 之间有 {count} 项信息是重复的")

这段代码使用了组合生成所有姓名之间的配对,并计算出每对配对之间的共同信息数量。你可以根据打印的结果查看任意两人之间有多少信息是重复的。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 20:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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