python-3.x - 如何使用 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
解决方案
从值中选择行的一种快速简单的方法是使用数据框的 loc 方法,例如:
rainy_days = df.loc[df['overlook'] == 'rainy']
它应该创建一个只有下雨天行的新数据框,然后您可以正常进行计算。如果您想使用多个条件,可以像这样堆叠条件:
rainy_days_with_play = df.loc[(df['overlook'] == 'rainy') & (df['play'] == 'yes')]
推荐阅读
- python - Python - 为不同的列聚合两行不同的操作
- python - Django 多文件上传
- python - Cygwin 在哪里安装 python 包?
- powershell - String Only 用于奇怪格式的密码
- node.js - 如何在医疗数据上训练 tensorflow.js
- java - 在类路径中使用 Jar 从 Scala 应用程序中启动子进程?
- python - 适用于 MySQL Workbench,但不适用于 Python?两个相同的代码。但其他价值
- algorithm - 算法脚本:对所有奇数斐波那契数求和
- python-3.x - 获取特定百分比的已更改字符
- java - 该设备已经有一个应用程序具有相同的包但不同的签名