python - 如何在数据框系列中包含有关组的删除信息?
问题描述
我有以下数据框,我想在满足条件后包含基于“个人 ID”的所有信息。
import pandas as pd
data = [['A-1', 'Birth','0'],
['A-1','Sickle cell',"5"],['A-1', 'Lung cancer',"25"],
['A-1','Death','35'],['A-2', 'Birth', '0'],
['A-2','Sarcoma','10'],['A-2', 'Melanoma','19'],
['A-2', 'Current Age', '20'], ['A-3', 'Birth',"0"],
['A-3','Sickle cell','25'],['A-3', "Skin cancer", "29"],
['A-3', "Current Age", '40']]
df = pd.DataFrame(data,columns=["Individual ID", "Diagnosis","Age"])
print df
我尝试了以下代码:
first = pd.DataFrame(df.groupby("Individual ID").filter(lambda g: g["Individual ID"].size > 3))
breast1 = ((first["Repeat Instance"] == 1) & (first["Diagnosis"] != "Sickle cell"))
after = first[breast1]
print after
运行代码后,我得到这个:
Individual ID Diagnosis Age Repeat Instance
1 A-1 Sickle cell 5 1
9 A-3 Sickle cell 25 1
我想获取个人 A-1 和 A-3 的其余信息(出生、当前年龄、其他诊断),但无法弄清楚。
任何帮助将不胜感激。
解决方案
我以pythonic方式回答
df = pd.DataFrame(data,columns=["Individual ID", "Diagnosis","Age"])
search = '0'
a = list(filter(lambda x:x[2]==search,data))
print (a)
它返回第三个元素为 0 的列表,您可以自定义它
推荐阅读
- reactjs - 我将如何在这个小型随机发生器中提升状态,以便我可以将它作为一个组件?
- java - 使用 pdfbox 检查文本是否为粗体
- android - 有没有办法让leanback的(隐藏的)播放控件显示在移动设备中?
- swift - Returning a binary file from a custom route (not FileMiddeleware's public folder)
- r - How do i find week number from an arbitrary start date in R?
- javascript - 如何将 HTML 集合转换为数组,该数组根据 DOM 进行更新
- java - org.openqa.selenium.WebDriverException: disconnected: not connected to DevTools error using ChromeDriver Chrome using Selenium and Java
- performance - 为什么 Snowflake 中这两个相似的查询具有非常不同的性能?
- angular - 打字稿 | 装饰器似乎没有正确注册
- excel - 如何将 Excel VBA 代码中的文件路径替换为文件对话框“文件选择器”