看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在 pandas 中,reindex_like() 是一个用于重新索引操作的方法。重新索引是指根据指定的索引或者列,对数据进行重新排序或者重组的过程。
语法如下:
DataFrame.reindex_like(other,
method=None,
copy=None,
limit=None,
tolerance=None
)
返回一个与其他对象具有匹配索引的对象。使对象在所有轴上符合相同的索引。可选的填充逻辑,在先前索引中没有值的位置放置 NaN。除非新索引与当前索引等效且 copy=False
,否则会生成一个新对象。
参数:
other
:相同数据类型的对象method
:{None,'backfill'/'bfill','pad'/'ffill','nearest'}copy
:布尔值,默认 Truecopy
关键字的行为将发生变化。默认将启用写时复制(Copy-on-Write),这意味着所有带有 copy
关键字的方法将使用延迟复制机制来推迟复制,并忽略 copy
关键字。在未来的 pandas 版本中,copy
关键字将被删除。pd.options.mode.copy_on_write = True
。limit
:整数,默认 Nonetolerance
:可选abs(index[indexer] - target) <= tolerance
。返回值:
Series
或 DataFrame
注意:
与调用 .reindex(index=other.index, columns=other.columns,...)
相同。
请查看如下示例:
>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],
... [31, 87.8, 'high'],
... [22, 71.6, 'edium'],
... [35, 95, 'edium']],
... columns=['temp_celsius',
'temp_fahrenheit',
... 'windspeed'],
... index=pd.date_range(start='2014-02-12',
... end='2014-02-15', freq='D'))
>>> df1
temp_celsius temp_fahrenheit windspeed
2014-02-12 24.3 75.7 high
2014-02-13 31.0 87.8 high
2014-02-14 22.0 71.6 medium
2014-02-15 35.0 95.0 medium
>>> df2 = pd.DataFrame([[28, 'low'],
... [30, 'low'],
... [35.1, 'edium']],
... columns=['temp_celsius', 'windspeed'],
... index=pd.DatetimeIndex(['2014-02-12',
'2014-02-13',
... '2014-02-15']))
>>> df2
temp_celsius windspeed
2014-02-12 28.0 low
2014-02-13 30.0 low
2014-02-15 35.1 medium
>>> df2.reindex_like(df1)
temp_celsius temp_fahrenheit windspeed
2014-02-12 28.0 NaN low
2014-02-13 30.0 NaN low
2014-02-14 NaN NaN NaN
2014-02-15 35.1 NaN medium
Series 也有此方法,逻辑与 DataFrame 的方法一致。
更新时间:2024-07-10 14:10:57 标签:pandas python 索引