首页 > 解决方案 > 如何使用 Pandas 中其他列中的其他值获取列的值

问题描述

您好,我有以下生成的数据框列表:

代码:

def frequency_tables(headers, target, data):
    freq = []
    for i in headers:
        freq_table = data.groupby([i, target]).size().reset_index(name="Time")
        freq.append(freq_table)
    return freq

数据框:

outlook   play   Time
overcast  yes    4
rainy     no     2
rainy     yes    3
sunny     no     3
sunny     yes    2

我想知道如何使用 Outlook 中的值获取 Time 的值并进行一些微积分,例如:

rainy|yes + rainy|no = 5

标签: python-3.xpandasdataframecsv

解决方案


从值中选择行的一种快速简单的方法是使用数据框的 loc 方法,例如:

rainy_days = df.loc[df['overlook'] == 'rainy']

它应该创建一个只有下雨天行的新数据框,然后您可以正常进行计算。如果您想使用多个条件,可以像这样堆叠条件:

rainy_days_with_play = df.loc[(df['overlook'] == 'rainy') & (df['play'] == 'yes')]

推荐阅读