R语言如何匹配两个data frame的列数并创建新的数据框
实现方案
核心逻辑非常简单,先读取df1的列数,再截取df2对应数量的前列即可,pandas实现代码如下:
import pandas as pd # 构造示例df1 df1 = pd.DataFrame({ 'a': [12, 2], 'b': [23, 5] }) # 构造示例df2 df2 = pd.DataFrame({ 'm': [12, 2], 'n': [12, 3], 'j': [2, 4], 'l': [9, 5] }) # 核心逻辑:获取df1列数,取df2前N列 col_count = df1.shape[1] df3 = df2.iloc[:, :col_count] # 输出df3验证 print(df3)
运行上述代码输出的结果和期望完全一致:
m n 0 12 12 1 2 3
注意事项
- 如果df2的列数少于df1的列数,该逻辑会直接返回df2的全部列,不会报错
- 该逻辑不会校验两个DataFrame的内容、列名匹配规则,完全符合仅列数对齐的需求
内容的提问来源于stack exchange,提问作者MSM
相关产品推荐
相关产品推荐

