Data Wrangling

高效掌握Pandas DataFrame列排序:三种方法

Spread the love

Pandas DataFrame 提供了令人难以置信的灵活性,但管理列顺序对于可读性、分析和互操作性至关重要。本指南探讨了三种高效的 DataFrame 列重排方法。

目录

方法一:直接列重排序

这是最简单的方法,当您知道精确的列顺序时非常理想。您创建一个指定所需顺序的列表,并用它从 DataFrame 中选择列。


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("原始 DataFrame:n", df)

new_order = ['col3', 'col1', 'col2']
df = df[new_order]
print("n重新排序后的 DataFrame:n", df)

方法二:插入列

使用此方法可在特定位置添加新列。这涉及创建列并使用insert方法将其正确定位。insert中的索引指的是列的位置,而不是列名。


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("原始 DataFrame:n", df)

df['col4'] = [10, 11, 12]
df.insert(1, 'col4_inserted', df.pop('col4'))  # 高效插入,避免重复

print("n插入列后的 DataFrame:n", df)

方法三:使用 reindex 进行灵活排序

reindex方法提供了最大的灵活性。它允许您指定所需的顺序,并且它通过用 NaN 值填充来优雅地处理缺失的列。


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("原始 DataFrame:n", df)

new_order = ['col3', 'col1', 'col4', 'col2']  # 'col4' 将被添加,值为 NaN
df = df.reindex(columns=new_order)
print("n使用 reindex 重新排序后的 DataFrame:n", df)

通过掌握这些技巧,您可以高效地管理 Pandas DataFrame 中的列顺序,适应各种数据操作需求。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注