我有一个功能:
def lookup(group, name):
try:
#sql query with group and name
return answer
except:
return 'NULL'
以及数据帧:
+------------+------+
| group | name |
+------------+------+
| redteam | paul |
| blueteam | pat |
| yellowteam | mike |
+------------+------+
我想将每行的组和名称输入到我的“lookup”函数中,并将该行的答案作为第三列中的单元格返回:“value”
我已经看了这个和这个问题。但他们不完全是我在做的。
我也研究过这个问题。这就是我正在做的。但对我来说也没有成功。
我试过这个:df['value']=lookup(df[0],df[1])
和这个:df['value']=df.apply(lambda x: lookup(x[0],x[1]),轴=1)
但它只会使值列全部为“NULL”
这里的任何建议都非常感谢。
如果没有一个好的可重复的示例,很难进行测试,但您可以尝试这样做,假设group不是数据帧的索引:
以下是一个完整的示例:
df = pd.DataFrame(np.random.rand(10,2), columns=['group', 'name'])
def lookup(group, name):
if group > 0.4:
return 'YES'
else:
return 'NULL'
df['value'] = df.apply(lambda x: lookup(x['group'], x['name']), axis=1)
df
group name value
0 0.088522 0.221607 NULL
1 0.366478 0.612860 NULL
2 0.018939 0.995080 NULL
3 0.143422 0.590115 NULL
4 0.747373 0.888054 YES
5 0.960380 0.586448 YES
6 0.671776 0.151144 YES
7 0.632334 0.802551 YES
8 0.041953 0.387241 NULL
9 0.557183 0.199470 YES
我有一个数据框架,我想从其中一列的列表中创建5列 示例: 请注意,这里很少有列表少于5列,对于这些列,请在该位置插入NAN。
我想在Pandas数据集中创建一个新列,基于另外两个列的值。 现在,应该如下所示: 有什么帮助吗?
问题内容: 我有以下数据框: 现在,我想创建另一个列,其值在和之间最大。因此,我希望将其作为输出: 我试过了 : 但是,这会引发语法错误。我没有任何方法可以在熊猫中做到这一点。我的实际数据框太复杂了,因此我想为此提供一个通用的解决方案。有任何想法吗? 问题答案: 您可以使用: 解决方案: 或更简单的发现:
我有一个数据框,如: 我需要为每个列应用一些函数,并在这个数据帧中创建具有特殊名称的新列。 所以我需要根据列和(如name)乘以两个额外的列,名称为和由两个。是否可以使用或其他结构来完成此操作?
考虑下面的数据集存储在熊猫数据文件<代码> DFX < /代码>: 我有一个函数是: 现在,我想在中创建一个新列,其中包含计算出的z值 查看其他SO示例,我尝试了几个变体,包括: 返回错误。正确的方法是什么?
如何在熊猫身上做到这一点: 更新2:这个问题是在V0.11.0左右提出的。因此,许多问题和答案都不太相关。