pandas.concat 函数是一个强大的组合工具沿指定轴的多个 Series 或 DataFrame 对象。除了用于指定要连接的对象以及连接它们的轴的基本参数之外,concat 还提供了几个可选参数,允许您自定义结果输出。其中三个参数是级别、键和名称。
levels 参数用于指定生成的 MultiIndex 的级别。如果未指定级别,Pandas 将从键推断级别。但是,您可以指定级别来覆盖推断的级别或创建具有特定级别集的 MultiIndex。
levels 参数采用序列列表。每个序列代表多索引的一个级别。序列可以是可用于创建 pandas.Index 对象的任何类型的对象。
例如,以下代码创建具有两个级别的 MultiIndex:
<code class="python">df = pd.concat([df1, df2], keys=[['a', 'b'], ['c', 'd']], levels=[['A', 'B'], ['C', 'D']])</code>
结果MultiIndex 将具有两个级别“A”和“B”以及两个级别“C”和“D”。 MultiIndex 的第一级将是“a”和“b”值,第二级将是“c”和“d”值。
keys 参数用于指定生成的 MultiIndex 的键。如果未指定键,Pandas 将使用被连接的对象的名称。但是,您可以指定键来覆盖推断的键或使用一组特定的键创建 MultiIndex。
keys 参数采用对象列表。每个对象代表生成的 MultiIndex 的一个键。对象可以是可用于创建 pandas.Index 对象的任何类型的对象。
例如,以下代码创建具有两个键的 MultiIndex:
<code class="python">df = pd.concat([df1, df2], keys=['a', 'b'])</code>
结果MultiIndex 将有两个键:“a”和“b”。 MultiIndex 的第一级将是“a”值,第二级将是“b”值。
names 参数用于指定生成的多重索引的级别。如果未指定名称,Pandas 将使用被连接的对象的名称。但是,您可以指定名称来覆盖推断的名称,或者使用一组特定的名称创建 MultiIndex。
names 参数采用字符串列表。每个字符串代表生成的 MultiIndex 的一个级别的名称。字符串可以是任何有效的字符串。
例如,以下代码创建一个具有两个名称的 MultiIndex:
<code class="python">df = pd.concat([df1, df2], keys=[['a', 'b'], ['c', 'd']], levels=[['A', 'B'], ['C', 'D']])</code>
生成的 MultiIndex 将有两个名称:“A”和“B”。 MultiIndex 的第一级将是“a”和“b”值,第二级将是“c”和“d”值。
以上是Pandas concat 函数中的'levels”、'keys”和'names”参数如何影响生成的 MultiIndex?的详细内容。更多信息请关注PHP中文网其他相关文章!