【发布时间】:2019-11-09 00:32:02
【问题描述】:
我有一个大型数据框,其中包含一些模拟的输入和输出。 输入为~100。对于每个独特的输入组合,存在一组独特的输出。 我想为每个输入组合过滤数据框并检索相应的输出。 我知道如何过滤数据框。对于这个小数据框:
input1 input2 input3 output1 output2
a1 a2 a3 0 1
a1 a4 a5 2 3
a6 a2 a3 4 5
我可以:output_x = df[(df['input1']==a1) & (df['input2']==a2) & (df['input3']==a3)]['output1']
然后我可以遍历每个可能的输入组合并检索所有输出。
但是如果输入的数量非常大怎么办?有没有办法不重复100次(df['inputX']==Y)?
我正在考虑一个 pandas 函数,它检索一些数据框列的所有可能的值组合,并返回一些其他列的相应值。有这样的东西吗?
【问题讨论】:
-
我想你想要 groupby
-
我试图调查一下,但我不明白如何将它应用到我的案例中
-
你能展示一个更宽的数据框和预期的输出吗?
-
这和我贴在那里的完全一样,只是输入从 input1 到 input100。每一行都包含不同的输入组合,包括字符串和数字。输出是数字,代表能量值,可以从 0 到无穷大。
-
那么您想获取 Input 中每个组合的所有可能数据框吗?
标签: python-3.x pandas dataframe pandas-groupby