【问题标题】:Proper way to merge DataFrame columns in Pandas?在 Pandas 中合并 DataFrame 列的正确方法?
【发布时间】:2014-12-16 20:56:48
【问题描述】:

目前我做的是:

toConcat = []
for cname in get_columns:
    toConcat += [df[cname]]
res = pd.concat(toConcat, axis=0, ignore_index=True)
res = res.dropna()

虽然这可行,但我想知道是否还有其他更快的内置方法来处理这种情况?我这样做的原因是因为在不同的数据集中,我有不同数量的具有相关信息的列,我想将它们合并到一列/行中,以便我可以对它们进行频率/平均值计算。

再次感谢大家的支持!

【问题讨论】:

  • 这对我来说似乎很好,因为您一次连接所有 dfs,如果您进行了连接或合并,您最终会重复加入/合并,并且每次为额外的行/列分配空间.例如,我不知道您是否可以直接将新列分配给主 df,例如 df['new_col'], df['another_col'] ... = other_df['new_col'], another_df['another_col'].... 等。但是这种方法需要索引对齐,这可能不是真的,无论如何我认为 concat 是合适的

标签: python-2.7 pandas hdfstore hdf


【解决方案1】:

没有@bjonen 的回答变平,像这样:

pd.Series(map(str, df[toConcat].values))

【讨论】:

    【解决方案2】:

    怎么样

    pd.Series(df[toConcat].values.flatten())
    

    【讨论】:

      猜你喜欢
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 2018-09-07
      • 1970-01-01
      相关资源
      最近更新 更多