У меня есть два DataFrame, каждый из которых имеет одно и то же имя столбца и некоторые имена строк; например, один CSV файл с этим содержимым:Reshaping pandas DataFrame
Location method reading date
1 M 2.8 12-Jun
1 A 3 12-Jun
2 M 2.5 12-Jun
2 A 3.1 12-Jun
3 M 4 12-Jun
3 A 2.2 12-Jun
и другое одно с этим содержанием:
Location method reading date
1 M 2.9 13-Jun
1 A 3 13-Jun
2 M 2.6 13-Jun
2 A 3.1 13-Jun
3 M 3.9 13-Jun
3 A 2.2 13-Jun
Я хотел бы организовать их в DataFrame, которые выглядят так:
1/M 1/A 2/M 2/A 3/M 3/A
12-Jun 2.8 3 2.5 3.1 4 2.2
13-Jun 2.9 3 2.6 3.1 3.9 2.2
, где каждое имя столбцов dataframe - каждое местоположение + каждый метод (пример: 1/M для местоположения 1 и метод M). Как это можно сделать эффективным образом. Я написал что-то вроде этого:
data1=pd.read_csv("csv1.csv")
data2=pd.read_csv("csv2.csv")
list1={}
list2={}
for index, row in data1.iterrows():
list=[]
list.append(row["date"])
list.append(row["reading"])
list1[row["location"]+row["method"]]=list
но я застрял там.
pd.pivot() дайте мне эту ошибку: pandas.core.groupby.DataError: Нет числовых типов для объединения – user3841581
Попробуйте 'pd.pivot_table()', для меня это работает. –
Когда я пытаюсь, он дает мне ту же ошибку. – user3841581