У меня есть данные
# создать некоторые данные с помощью столбца Имена data = pd.DataFrame ({'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4 , 'Add': ['Lo', 'Po', 'Fa',
'It'] * 4, 'Ob1': np.random.rand (16), 'Ob2': np.random.rand (16)})
и создали список с подмножествами данных (только с именами, которые я хочу), используя другой фрейм данных в качестве карты
import pandas as pd
#Mapping file
data2 = pd.DataFrame({
"Names": ["Joe", "John"],
"Add": ["Lo", "Po"]})
tuples = [tuple(x) for x in data2.values]
my_dfs = [data[(data['Names'] == mytuple[0]) & (data['Add'] == mytuple[1])] for mytuple in
tuples]
for my_df in my_dfs:
print(my_df)
и я получаю следующий вывод:
[ Names Add Ob1 Ob2
Joe Lo 0.999 0.403
Joe Lo 0.509 0.570
Joe Lo 0.180 0.775
Joe Lo 0.010 0.591
Names Add Ob1 Ob2
John Po 0.040 0.256
John Po 0.673 0.869
John Po 0.915 0.593
John Po 0.865 0.298 ]
"my_dfs" - это список списка. Возможно ли это:
i. Чтобы создать фрейм данных, свернув приведенный выше список и выясните, как это лучше всего сделать. Попробовал следующее, но не дает правильного вывода:
flattened_list = []
for x in my_dfs:
flattened_list.append(x)
, где будет выглядеть окончательный вывод:
Names Add Ob1 Ob2
Joe Lo 0.999 0.403
Joe Lo 0.509 0.570
Joe Lo 0.180 0.775
Joe Lo 0.010 0.591
John Po 0.040 0.256
John Po 0.673 0.869
John Po 0.915 0.593
John Po 0.865 0.298
без заголовков, появляющихся дважды
ii , Для создания разных фреймов данных (2 фрейма в данном случае, один для Джо, другой для Джона.
Joe:
Names Add Ob1 Ob2
Joe Lo 0.999 0.403
Joe Lo 0.509 0.570
Joe Lo 0.180 0.775
Joe Lo 0.010 0.591
John:
Names Add Ob1 Ob2
John Po 0.040 0.256
John Po 0.673 0.869
John Po 0.915 0.593
John Po 0.865 0.298
Может кто-нибудь помочь?