在 Pandas 中水平连接 DataFrame
要水平连接两个 DataFrame,而不考虑键和列数的潜在差异,请使用 concat具有 axis=1 参数的函数。此参数指定应按列执行串联。
示例:
考虑以下两个 DataFrame,df_a 和 df_b,行数相同但不同列数:
<code class="python">import pandas as pd dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz': [500.0, 500.5, 501.0]} df_a = pd.DataFrame(dict_data) dict_data = {'Treatment1': ['C', 'C', 'C'], 'Biorep1': ['A', 'A', 'A'], 'Techrep1': [1, 1, 1], 'AAseq1': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte1': [1100.0, 1050.0, 1010.0]} df_b = pd.DataFrame(dict_data)</code>
要水平连接这些 DataFrame,请使用以下代码:
<code class="python">pd.concat([df_a, df_b], axis=1)</code>
这将创建一个新的 DataFrame,其行数与原始 DataFrame 相同,并且列数等于两个 DataFrame 中列的总和。生成的 DataFrame 将如下所示:
AAseq Biorep Techrep Treatment mz AAseq1 Biorep1 Techrep1 Treatment1 inte1 0 ELVISLIVES A 1 C 500.0 ELVISLIVES A 1 C 1100 1 ELVISLIVES A 1 C 500.5 ELVISLIVES A 1 C 1050 2 ELVISLIVES A 1 C 501.0 ELVISLIVES A 1 C 1010
替代方法:
根据具体要求,还有替代方法来水平连接 DataFrame。
以上是如何在不考虑键或列差异的情况下水平连接 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!