當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.Series.truncate用法及代碼示例


用法:

Series.truncate(before=None, after=None, axis=None, copy=True)

在某個索引值之前和之後截斷 Series 或 DataFrame。

這是基於高於或低於某些閾值的索引值的布爾索引的有用簡寫。

參數

before日期,str,int

截斷此索引值之前的所有行。

after日期,str,int

截斷此索引值之後的所有行。

axis{0 或 ‘index’,1 或 ‘columns’},可選

要截斷的軸。默認情況下截斷索引(行)。

copy布爾值,默認為 True,

返回截斷部分的副本。

返回

調用者類型

截斷的 Series 或 DataFrame。

注意

如果被截斷的索引僅包含日期時間值,則 beforeafter 可以指定為字符串而不是時間戳。

例子

>>> df = pd.DataFrame({'A':['a', 'b', 'c', 'd', 'e'],
...                    'B':['f', 'g', 'h', 'i', 'j'],
...                    'C':['k', 'l', 'm', 'n', 'o']},
...                   index=[1, 2, 3, 4, 5])
>>> df
   A  B  C
1  a  f  k
2  b  g  l
3  c  h  m
4  d  i  n
5  e  j  o
>>> df.truncate(before=2, after=4)
   A  B  C
2  b  g  l
3  c  h  m
4  d  i  n

DataFrame 的列可以被截斷。

>>> df.truncate(before="A", after="B", axis="columns")
   A  B
1  a  f
2  b  g
3  c  h
4  d  i
5  e  j

對於 Series,隻能截斷行。

>>> df['A'].truncate(before=2, after=4)
2    b
3    c
4    d
Name:A, dtype:object

truncate 中的索引值可以是日期時間或字符串日期。

>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')
>>> df = pd.DataFrame(index=dates, data={'A':1})
>>> df.tail()
                     A
2016-01-31 23:59:56  1
2016-01-31 23:59:57  1
2016-01-31 23:59:58  1
2016-01-31 23:59:59  1
2016-02-01 00:00:00  1
>>> df.truncate(before=pd.Timestamp('2016-01-05'),
...             after=pd.Timestamp('2016-01-10')).tail()
                     A
2016-01-09 23:59:56  1
2016-01-09 23:59:57  1
2016-01-09 23:59:58  1
2016-01-09 23:59:59  1
2016-01-10 00:00:00  1

因為索引是一個僅包含日期的 DatetimeIndex,我們可以將 beforeafter 指定為字符串。它們將在截斷之前被強製轉換為時間戳。

>>> df.truncate('2016-01-05', '2016-01-10').tail()
                     A
2016-01-09 23:59:56  1
2016-01-09 23:59:57  1
2016-01-09 23:59:58  1
2016-01-09 23:59:59  1
2016-01-10 00:00:00  1

請注意,truncate 假定任何未指定的時間分量(午夜)的值為 0。這與部分字符串切片不同,後者返回任何部分匹配的日期。

>>> df.loc['2016-01-05':'2016-01-10',:].tail()
                     A
2016-01-10 23:59:55  1
2016-01-10 23:59:56  1
2016-01-10 23:59:57  1
2016-01-10 23:59:58  1
2016-01-10 23:59:59  1

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.truncate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。