我有2个不同的数据帧,第一个数据帧包含要根据条件与第二个数据帧中的一个值相乘的值。
因此,假设我的第一个数据帧包含一个长列表,其值介于1到10之间,而我的第二个数据帧包含值x
,y
和z
。然后我想将值1-3与x
相乘,将4-6与y
相乘,将7-10与z
相乘。
我该怎么做?
示例输入:
df1 df2
1 x
2 y
3 z
4
5
6
7
8
9
10
所需的输出:
1x
2x
3x
4y
5y
6y
7z
8z
9z
10z
实际数据帧大于此,但这只是一个例子。
答案 0 :(得分:1)
您能否通过数据框抛出这样的函数:
def newDf(df1, df2):
df = []
for idx, i in enumerate(df1):
if idx <= 2: # 1st condition
df.append(i * df2[0])
elif idx <= 5: # 2nd condition
df.append(i * df2[1])
else:
new_df.append(i * df2[2])
return df