当前位置: 首页 > 面试题库 >

设置Python DataFrame

殷浩慨
2023-03-14
问题内容

我正在从R过渡到Python。我刚开始使用熊猫。我有一个很好的子集的R代码:

k1 <- subset(data, Product = p.id & Month < mn & Year == yr, select = c(Time, Product))

现在,我想在Python中做类似的事情。到目前为止,这是我得到的:

import pandas as pd
data = pd.read_csv("../data/monthly_prod_sales.csv")


#first, index the dataset by Product. And, get all that matches a given 'p.id' and time.
 data.set_index('Product')
 k = data.ix[[p.id, 'Time']]

# then, index this subset with Time and do more subsetting..

我开始感到自己在以错误的方式这样做。也许,有一个优雅的解决方案。有人可以帮忙吗?我需要从我拥有的时间戳中提取月份和年份并进行子设置。也许有一条线可以完成所有这一切:

k1 <- subset(data, Product = p.id & Time >= start_time & Time < end_time, select = c(Time, Product))

谢谢。


问题答案:

我将假设TimeProduct是中的列DataFramedf是的实例DataFrame,而其他变量是标量值:

现在,您必须引用DataFrame实例:

k1 = df.loc[(df.Product == p_id) & (df.Time >= start_time) & (df.Time < end_time), ['Time', 'Product']]

由于&运算符与比较运算符之间的优先级,因此括号也是必需的。该&运算符实际上是一个重载的按位运算符,其优先级与算术运算符相同,而算术运算符的优先级又高于比较运算符

pandas0.13中,DataFrame.query()将提供一种新的实验方法。这与子集对select参数取模非常相似:

query()您一起这样做:

df[['Time', 'Product']].query('Product == p_id and Month < mn and Year == yr')

这是一个简单的例子:

In [9]: df = DataFrame({'gender': np.random.choice(['m', 'f'], size=10), 'price': poisson(100, size=10)})

In [10]: df
Out[10]:
  gender  price
0      m     89
1      f    123
2      f    100
3      m    104
4      m     98
5      m    103
6      f    100
7      f    109
8      f     95
9      m     87

In [11]: df.query('gender == "m" and price < 100')
Out[11]:
  gender  price
0      m     89
4      m     98
9      m     87

您感兴趣的最终查询甚至可以利用链式比较,如下所示:

k1 = df[['Time', 'Product']].query('Product == p_id and start_time <= Time < end_time')


 类似资料:
  • 我将设置为,并将其添加到我的。当我运行和echo,它们都给了我正确的信息。但是,当我运行libgdx安装程序时,它会给出以下错误:<code>错误:未设置JAVA_HOME,并且在路径中找不到任何“JAVA”命令。 请在您的环境中设置JAVA_HOME变量,以匹配您的JAVA安装位置。 有什么想法吗?

  • 设置菜单 可从主菜单进入设置当功能打开时,轻击以便将图标转成绿色。 连续心率。开关连续心率追踪。 飞行模式。切断健身追踪设备的所有无线通讯。 “请勿打扰”模式。禁用因手腕运动的显示屏亮起,并阻断来自您手机的智能通知。 心率 传感器模式。使用 A370 作为心率传感器,并配备心率接收设备。 关机。关闭设备。 重置当前蓝牙连接。若要使用任何蓝牙配件,需要与设备再次配对。 信息。查看您设备的 ID,固件

  • 一、简介   “设置"用于PHPCMS系统常用参数配置与管理员帐号维护。 二、功能演示 相关设置 管理员设置

  • 设置 设置包含:采集设置、站点设置、邮件发送设置、代理设置等 采集设置 开启自动采集、设置采集参数、图片本地化 页面渲染设置 代理设置 防止被屏蔽IP 翻译设置 支持百度翻译和有道翻译 站点设置 关闭前台首页、开启图片验证码 邮件发送设置 找回密码时使用

  • 设置 控制台有很多设置,这些设置都可以在控制面板中找到。点击右上角的齿轮按钮就能打开设置面板。 图 10. 设置面板

  • 设置 产品简介 用户可以在小程序设置页里控制授权状态,设置页位置:右上角-更多-关于-更多-设置 开放标准 对所有入驻小程序的企业开放 接口说明 jd.openSetting(OBJECT) 调起宿主客户端小程序设置界面,返回用户设置的操作结果,设置界面只会出现小程序已经向用户请求过的权限。 Object 参数说明: 参数 类型 必填 说明 success Function 否 接口调用成功的回调

  • Settings(配置设置) 是影响FreeMarker行为的已被命名的值。配置设置有很多, 例如:locale,number_format, default_encoding, template_exception_handler。可以参考 Configuration.setSetting(...)的Java API 文档 来查看配置设置的完整列表。 配置设置存储在 Configuration

  • 问题内容: 当我在Linux机器上使用默认的Java语言环境时,它带有美国语言环境设置,应在哪里进行更改以使其具有正确的语言环境? 问题答案: 我相信Java会从启动它的环境变量中收集这些信息,因此您需要确保正确设置LANG和LC_ *环境变量。 语言环境手册页包含有关所述环境变量的完整信息。