我是 Pandas 的新手,我有以下查詢,我有兩個資料框 df1 和 df2,df1 是一個空資料框,有 3 列,df2 有 5 列,有一些記錄。
Df1 Ex 下面 | 一個| 乙| C| :--|:--:|--:| | | | |
Df2 前
| 一個 | 乙 | D | C | 乙 |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
如果列名匹配,我想將所有行從 df2 復制到 df1。像下面
DF1
| 一個 | 乙 | C |
|---|---|---|
| 1 | 2 | 4 |
| 1 | 2 | 4 |
| 1 | 2 | 4 |
它可以是 df1 也可以是一個新的資料框。請幫我解決這個問題
uj5u.com熱心網友回復:
對于兩個 DataFrame 之間的列交叉過濾器的一般解決方案,請使用Index.intersection:
Df1 = Df2.reindex(Df1.columns.intersection(Df2.columns, sort=False), axis=1)
如果始終存在Df1.columns正在Df2.columns使用的所有列:
Df1 = Df2[Df1.columns]
uj5u.com熱心網友回復:
不需要初始化一個空的DataFrame,可以直接使用:
df1 = df2[df1.columns].copy()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/516968.html
上一篇:根據唯一條目計算時差
