python - 子集熊猫数据框并在一行中分配不同的列
问题描述
我有一个熊猫数据框:
>>> df
product company code
0 P1 C1 X
1 P2 C2 X
2 P3 C3 Y
3 P4 C4 Z
4 P5 C5 C
我想选择代码列product
中company
的值等于的位置X
。最后,有不同的列名。所以输出看起来像:
>>> df
product_name parent_company
0 P1 C1
1 P2 C2
因为只有P1
和P2
有X
下Code
栏。
我有使用 for 循环的解决方案。什么是最时尚的方式来实现这一目标?
解决方案
考虑query
在一次调用中链接所有内容:
new_df = (df.query("code == 'X'")
.reindex(columns=['product', 'company'])
.set_axis(['product_name', 'parent_company'], axis='columns', inplace=False)
)
推荐阅读
- google-bigquery - 无法将 __TABLES__ 元数据表中的 row_count 传播到自定义表
- django - 如何将 StreamBlock 内部的 StructBlock 渲染为模板?
- google-app-engine - 仅由 Google App Engine 发出的 Google Cloud Functions http 请求
- java - 有什么办法可以解决“java.lang.RuntimeException: Unable to find a free port”的问题
- angular - 用 papaparse 解析数据显示奇怪
- javascript - 带有移动文本的横幅,根据宽度自动调整 div 大小并保留正文宽度
- entity-framework - 两张桌子(一对多)和一张桌子有很多(一对零或一张)和一张桌子
- angular - 如何读取数组对象列表
- c# - 在 Moq 中使用任何结构参数验证方法调用
- c# - Handing Serial Port DataRecieved event when havign a method to handle reply from serial port at the same time