首页 > 解决方案 > python将lambda从更少的行应用到不同数据帧中的更多行

问题描述

我有两个数据框。A 有 3360 行,B 有 480 行。我想将一些列从 B 应用到 A。但它只适合 480 行,其余 2880 行仍然是 NA。我正在尝试执行“for”循环,但它不起作用。谁能告诉我如何改进我的代码?

df_item['teamID'] = df_new.apply(lambda x: '%s' (% x['teamID']), axis = 1)

数据帧 A 数据帧 B

标签: python-3.xpandas

解决方案


您可以将列表 B 相乘:

import math

a = [1]*3360
b = [2]*480
a_len = len(a)
b_len = len(b)
c = (b * math.ceil(a_len/b_len))[:a_len]

print(len(c) == len(a))

推荐阅读