Начиная с кода ниже, я хочу расширить свой код.
import pandas as pd
df_area = pd.DataFrame({"A": ["area1", "area2","area1"],
"B": [2, 5,7],
"C": ["BUS_X","BUS_Y","BUS_Y"]})
df_time = pd.DataFrame({"area1": [1000, 2000, 3000, 4000],
"area2": [2000, 5000, 6000, 7000]})
def do_split(df1, df2):
return [df1[A] * B for A,B in zip(df2.A, df2.B)]
newlist = do_split(df_time, df_area)
newframe = pd.DataFrame(newlist)
df1_transposed = newframe.T
Моя цель - получить столбец C
из df_area
в качестве второго заголовка в моем выходном кадре данных df1_transposed
(картинка ниже).
Это означает, что BUS_X
должно быть меньше area1
, BUS_Y
меньше area2
, а второе BUS_Y
ниже второгоarea1
как заголовки.
Я попытался расширить функцию следующим образом:
def do_split(df1, df2):
return [df1[A] * B for A,B,C in zip(df2.A, df2.B,df2.C)]
Код работает без ошибок, но вывод такой же, как на рисунке выше.