![](/img/trans.png)
[英]Combining two data frames and showing their difference - Python Pandas
[英]Combining two lists of data frames in pandas
我有以下變量:
info_list = [("class1", "student1"), ("class1", "student2"), ("class2", "student1")]
dataframe_list = [df1, df2, df3]
每個dfN
如下所示:
df1:
A B
10 20
23 31
df2:
A B
2 9
11 51
60 89
df3:
A B
1 2
3 9
我想將第 n 個 info_list 元素與 dataframe_list 的第 n 個數據幀匹配,然后將數據幀連接到一個。 下面是我想要的 dataframe:
class student A B
class1 student1 10 20
class1 student1 23 31
class1 student2 2 9
class1 student2 11 51
class1 student2 60 89
class2 student1 1 2
class2 student1 3 9
由於我的數據很大,我想知道是否有一種巧妙的方法可以做到這一點。 謝謝!
將concat
與keys
參數一起使用,然后將MultiIndex
轉換為具有重命名索引名稱的列:
df = (pd.concat(dataframe_list, keys=info_list)
.reset_index(level=2, drop=True)
.rename_axis(('class','student'))
.reset_index())
print (df)
class student A B
0 class1 student1 10 20
1 class1 student1 23 31
2 class1 student2 2 9
3 class1 student2 11 51
4 class1 student2 60 89
5 class2 student1 1 2
6 class2 student1 3 9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.