全部的
我有一个返回两个值的函数。一个是列表,另一个是双精度。
我想使用这样的东西在我的df中创建两个新列,并使用。应用程序逐行填充这些列。
def f(a_list):
#do some stuff to the list
if(stuff):
make_new_stuff_happen
#return results of stuff
return new_list, a_double
def main():
df['new_col1'], df['new_col2'] = df.apply(lambda x: f(x['some_col']))
谢谢你能提供的帮助。
几点注意事项:
double
是指float
也许这个答案会有帮助:
如果这是您正在使用的原始数据帧:
col_1 | col_2 | col_3
-------------------------
1 | 3 | 3
2 | 3 | 4
3 | 1 | 1
你可以有这样一个函数:
def transform_into_two_columns(original_val_from_row):
# do some stuff to the list:
# example 1: multiply each row by 2 & save output to new list (this would be "new_list" in your question)
original_val_times_2 = original_val_from_row*2
# example 2: sum all values in list/column (this would be "a_double" in your question)
original_val_plus_2 = original_val_from_row+2.1
return original_val_times_2, original_val_plus_2
然后,您可以将该函数的输出保存到列表中:
list_of_tuples = df['col_2'].apply(lambda x: transform_into_two_columns(x)).to_list()
df[['NEW_col_4', 'NEW_col_5']] = pd.DataFrame(list_of_tuples, index=df.index)
您的新数据框将如下所示:
col_1 | col_2 | col_3 | NEW_col_4 | NEW_col_5
---------------------------------------------------
1 | 3 | 3 | 6 | 5.1
2 | 3 | 4 | 6 | 5.1
3 | 1 | 1 | 2 | 3.1
我有一个pandas数据框,其中包含列和。我想从他们那里得到和。中有一个函数,名为,用于执行此操作。它接收和,并给出。我是这样做的: 我想定义一个函数并应用一次以节省时间。我看了看这里,这里和这里,但是我找不到一种方法来使用一个函数制作两列。谢谢。
我有以下,其值是字典: 我希望获得所需的输出: 我怎样才能把字典分成单独的列呢? 我见过使用函数拆分字符串的列,但不确定如何将其应用于字典作为值的情况。
我在Scala中的中转置值时遇到问题。我的初始如下所示: 和是类型
我有这个df称为职位: 我有一份清单: 我正在尝试在股票行情器上创建一个新的DF排序。如果代码相同,那么这些值将进入df,另一个值将进入另一个。 我刚刚尝试过如何做到这一点,我不确定我是否走上了正确的道路。。 这怎么可能呢?在新的DF中,我想带上所有的专栏。 谢谢:)
我想用另一个DF的行中的名称替换DF的一些列名称 如何用df2中的“狗”和“猫”替换df1中的“T1”和“T2”?
背景:我的Tkinter应用程序中有一个小功能,它将列表中的两个随机值随机化,并将它们打印到GUI。但我正努力用随机值获得正确的形象(团队标志)。 目标:随机选择团队名称(来自28个团队的列表),GUI也应该显示团队徽标。按“随机”按钮,生成Team1 我做过研究:我有时间回答这个问题,但我想不出来。这个骰子游戏可以做到这一点,但我需要两个值而不是一个值,而且我的列表中充满了字符串。 例子:htt