У меня есть фрейм данных с этими столбцами:
ABCD AA1 AA2 BB1 BB2 CC1 CC2
Я установил список кортежей, представляющих имена этих переменных:
col2 = [
('AA1','AA2'),
('BB1','BB2'),
'CC1','CC2')
]
И список с первыми 4 переменными:
col1 = ['A','B','C','D']
Моя цель - создать три разных фрейма данных (один для переменной AA, BB и CC), которые содержат переменные, названные в col1, путем установкицикл for, который проходит через каждый кортеж в col2 и сохраняет AA1 и удаляет AA2 (и то же самое для BB и CC).
Это мой желаемый конечный результат:
df1: ABCD AA1
df2: ABCD BB1
df3: ABCD CC1
Я пробовал использовать эту функцию:
def func1(df, first, second):
df1 = pd.concat([df[col1],df[first[x]]],axis=1)
df1 = df.drop(second[y],axis=1)
df1 = df1.loc[:,~df1.columns.duplicated()]
return df1.reset_index(drop=True)
first1,second1 = zip(*col2)
first1 = list(first1)
second1 = list(second1)
for x,y in first1,second1:
df = func1(df_input,first=x,second=y)
output += [(df)]
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-135-11df6ece8a12> in <module>()
5 second1 = list(second1)
6
----> 7 for x,y in first1,second1:
8
9 df = func1(df_input,first=x,second=y)
ValueError: too many values to unpack (expected 2)
Я не понимаю, что я делаю неправильно... кто-нибудь сможет мне помочь?
спасибо большое