Pandas DataFrame DataFrame.reindex() 函数
Python Pandas DataFrame.reindex() 函数改变一个 DataFrame
的索引。它改变了指定轴上的索引。新的索引不包含值。它提供了可选的参数来填充这些值。
pandas.DataFrame.reindex()
语法
DataFrame.dropna(
labels, index, columns, axis, method, copy, level, fill_value, limit, tolerance
)
参数
labels |
它是一个类似于数组的结构,包含新索引的名称 |
index, columns |
它是一个类似于数组的结构,包含新索引的名称。应使用关键字 index 或 columns 来指定 |
axis |
它是一个整数或字符串。它告诉目标轴的行或列。它可以是 0 或 index ,1 或 columns |
method |
这个参数指定了在重新索引的 DataFrame 中填充缺失值的方法。它有四种可能的方法: None 、backfill /bfill 、pad /ffill 、pad /ffill 。None , backfill /bfill , pad /ffill , nearest . 它只适用于我们的 DataFrame 或 Series 有一个索引递增或递减的序列 |
copy |
布尔值。默认情况下,它是 True 。它返回一个新对象 |
level |
它是一个整数或名称。它匹配传递的多索引级别的索引值 |
fill_value |
它有一个标量值。它是填补缺失值的值 |
limit |
它是一个整数。它表示连续元素的极限,同时填充缺失值 |
tolerance |
在不完全匹配的情况下,它可以显示原始标签和新标签之间的差异 |
返回值
它返回一个带有改变过的索引的 DataFrame
。
示例代码:DataFrame.reindex()
默认情况下,轴是 0
即行,所以行将被重新索引。
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)
例子 DataFrame 如下。
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
Python 中的索引从 0 开始,我们将重新索引我们的 DataFrame
,新的索引将从 1 开始。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5])
print(dataframe1)
输出:
Attendance Name Obtained Marks
1 100.0 John 75.0
2 80.0 Laura 82.0
3 75.0 Ben 64.0
4 95.0 Kevin 67.0
5 NaN NaN NaN
这里,5
是一个新的索引。所以,新索引的值是 NaN
。
示例代码:DataFrame.reindex()
来重新索引列
有两种方法可以重新索引列。一种是用列关键字指定标签,另一种是使用轴参数。比较好的一种是用列关键字指定标签。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex(columns=["Presents", "Name", "Marks"])
print(dataframe1)
输出:
Presents Name Marks
0 NaN Olivia NaN
1 NaN John NaN
2 NaN Laura NaN
3 NaN Ben NaN
4 NaN Kevin NaN
旧的索引用旧的值分配。新索引的值为 NaN
。
我们也可以用 axis
参数重新索引列。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex(["Presents", "Name", "Marks"], axis="columns")
print(dataframe1)
示例代码:DataFrame.reindex()
用 fill_value
填充缺失值的方法
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5], fill_value=0)
print(dataframe1)
输出:
Attendance Name Obtained Marks
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
5 0 0 0
缺失的值现在用 0
填充。
示例代码:DataFrame.reindex()
使用 method
参数来填充缺失的值
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.reindex([1, 2, 3, 4, 5], method="ffill")
print(dataframe1)
输出:
Attendance Name Obtained Marks
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
5 95 Kevin 67
方法 ffill
用最后一个可用值填补了前向缺失值。
相关文章
Pandas DataFrame DataFrame.to_excel() 函数
发布时间:2024/04/22 浏览次数:68 分类:Python
-
DataFrame.to_excel()函数将 DataFrame 数据转储到 excel 文件中,单张或多张。
Pandas DataFrame DataFrame.query() 函数
发布时间:2024/04/22 浏览次数:109 分类:Python
-
DataFrame.query()方法从调用者 DataFrame 中过滤符合特定条件的行。
Pandas DataFrame DataFrame.plot.bar() 函数
发布时间:2024/04/22 浏览次数:165 分类:Python
-
Pandas DataFrame.plot.bar()函数沿着指定的轴绘制一个条形图。
Pandas DataFrame DataFrame.min() 函数
发布时间:2024/04/22 浏览次数:76 分类:Python
-
DataFrame min()函数获取 DataFrame 对象在指定轴上的最小值。
Pandas DataFrame DataFrame.median() 函数
发布时间:2024/04/22 浏览次数:189 分类:Python
-
DataFrame median()函数计算 DataFrame 对象在指定轴上的值的中位数。
Pandas DataFrame DataFrame.mean() 函数
发布时间:2024/04/22 浏览次数:142 分类:Python
-
DataFrame mean()函数计算 DataFrame 对象在指定轴上的值的平均值。
Pandas DataFrame DataFrame.max() 函数
发布时间:2024/04/22 浏览次数:187 分类:Python
-
DataFrame max()函数获取 DataFrame 对象在指定轴上的最大值。