📜  Pandas DataFrame 中的重新索引(1)

📅  最后修改于: 2023-12-03 14:45:02.372000             🧑  作者: Mango

Pandas DataFrame 中的重新索引

介绍

Pandas 是一款强大的数据分析工具,其中 DataFrame 是 Pandas 中最常用的数据类型之一。在 DataFrame 中,重新索引(reindexing)是常用的操作之一,它可以帮助我们改变 DataFrame 的行和列的顺序,增加或删除某些行或列,以及按照某个特定顺序排序。

语法
DataFrame.reindex(index=None, columns=None, **kwargs)
参数

index : array-like, optional 重新索引行,可以是索引、数组、列表、序列或者 Dataframe。

columns : array-like, optional 重新索引列,可以是索引、数组、列表、序列或者 Dataframe。

kwargs : dict, optional 用于传递给底层 pandas 方法的其他关键字参数。

示例
import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 显示 DataFrame
print("原始 DataFrame:\n", df)

# 重新索引行
df = df.reindex([2, 1, 0])
print("按照行索引排序后的 DataFrame:\n", df)

# 重新索引列
df = df.reindex(columns=['B', 'A', 'C'])
print("按照列索引排序后的 DataFrame:\n", df)

# 添加新的行和列
df = df.reindex(index=[2, 1, 0, 3], columns=['B', 'A', 'C', 'D'])
print("添加新的行和列后的 DataFrame:\n", df)

# 删除行和列
df = df.drop(columns=['D'], index=[3])
print("删除行和列后的 DataFrame:\n", df)

运行结果:

原始 DataFrame:
    A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
按照行索引排序后的 DataFrame:
    A  B  C
2  3  6  9
1  2  5  8
0  1  4  7
按照列索引排序后的 DataFrame:
   B  A  C
2  6  3  9
1  5  2  8
0  4  1  7
添加新的行和列后的 DataFrame:
   B  A  C   D
2  6  3  9 NaN
1  5  2  8 NaN
0  4  1  7 NaN
3 NaN NaN NaN NaN
删除行和列后的 DataFrame:
   B  A  C
2  6  3  9
1  5  2  8
0  4  1  7
结论

通过重新索引,我们可以轻松地改变 DataFrame 的行列顺序,增加或删除特定的行列,以及按照行列索引对 DataFrame 进行排序。这使得 Pandas 更加方便实用,使得数据分析变得更加高效。