【问题标题】:How do I create a new column based on a condition out of two columns with different datatypes?如何根据具有不同数据类型的两列中的条件创建新列?
【发布时间】:2021-09-09 17:15:07
【问题描述】:

我目前正在处理一个如下所示的大数据集:

我遇到的问题是,每天报告的病例分为“阴性”、“阳性”和“不确定”病例。我的目标是总结每天报告的病例数,但同时我还想为每种病例创建单独的列(每天一列负面案例,一列用于正面案例,另一列用于不确定的)。

为了达到我的目标,我需要做的就是通过使用overall_outcome 列和new_results_reported 列创建条件来稍微过滤数据集。 我尝试了否定的情况:

america3 = pd.DataFrame(data, columns = ['overall_outcome', 'new_results_reported']) contain_values = america3[america3['overall_outcome'].str.contains('Negative')] contain_values.head(20)

我只是不知道我这样做是否正确。如果我所做的有些正确,那么我仍然无法弄清楚如何仅使用负数创建一个新列。如果它不正确,那么我不知道下一步该采取什么步骤。我想问题在于overall_outcome 是一个对象,而new_results_reported 是一个int64。

我希望我说得通。

【问题讨论】:

标签: python pandas types conditional-statements multiple-columns


【解决方案1】:

我认为,Panda 的 groupby 功能正是您想要的。创建一个新的数据框,其中仅包含您想要的列,并按结果和日期汇总所有负面、正面或不确定案例的总数。看这个玩具例子:

import pandas as pd

row1list = ['Negative', 100, '2020/03/01', 'abc']
row2list = ['Negative', 200, '2020/03/01', 'abc']
row3list = ['Negative', 110, '2020/03/02', 'abc']
row4list = ['Negative', 220, '2020/03/02', 'abc']
row5list = ['Inconclusive', 10, '2020/03/01', 'bcd']
row6list = ['Inconclusive', 20, '2020/03/01', 'bcd']
row7list = ['Positive', 3, '2020/03/01', 'tuv']
row8list = ['Positive', 5, '2020/03/01', 'tuv']
america3 = pd.DataFrame([row1list, row2list, row3list, row4list, row5list, row6list, row7list, row8list],
                  columns=['overall_outcome', 'new_results_reported', 'date', 'col_xyz'])

df_dailies = america3.groupby(['overall_outcome', 'date'], as_index=False).agg({
    'new_results_reported': sum})

给你这个数据框


  overall_outcome        date  new_results_reported
0    Inconclusive  2020/03/01                    30
1        Negative  2020/03/01                   300
2        Negative  2020/03/02                   330
3        Positive  2020/03/01                     8

【讨论】:

    猜你喜欢
    • 2020-11-09
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多