看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
的 truncate
方法用于截取 DataFrame 或 Series 的一个子集,根据行标签或索引来选择子集。这个方法在处理时间序列数据时特别有用,但它也可以用于其他类型的数据。下面我们详细讲解它的语法、参数、返回值,并通过实例进行说明。
DataFrame.truncate(before=None, after=None, axis=None, copy=True)
before
:起始位置的标签。截取从此标签开始(不包括此标签)。after
:结束位置的标签。截取到此标签结束(包括此标签)。axis
:选择操作的轴。0
或 index
表示按行截取,1
或 columns
表示按列截取。copy
:布尔值,默认值为 True
,表示是否返回副本。返回一个 DataFrame 或 Series,其中包含指定标签范围内的行或列。
构造示例数据:
import pandas as pd
# 创建示例 DataFrame
data = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': ['a', 'b', 'c', 'd', 'e']
}
index = pd.date_range('2023-01-01', periods=5)
df = pd.DataFrame(data, index=index)
print("原始数据:")
print(df)
输出:
原始数据:
A B C
2023-01-01 1 10 a
2023-01-02 2 20 b
2023-01-03 3 30 c
2023-01-04 4 40 d
2023-01-05 5 50 e
截取 2023-01-02 到 2023-01-04 的数据:
df_truncated = df.truncate(before='2023-01-02', after='2023-01-04')
print("截取的行:")
print(df_truncated)
输出:
截取的行:
A B C
2023-01-02 2 20 b
2023-01-03 3 30 c
2023-01-04 4 40 d
截取 B 和 C 列:
df_truncated_columns = df.truncate(before='B', after='C', axis=1)
print("截取的列:")
print(df_truncated_columns)
输出:
截取的列:
B C
2023-01-01 10 a
2023-01-02 20 b
2023-01-03 30 c
2023-01-04 40 d
2023-01-05 50 e
假设我们有一段时间序列数据,我们只想分析某个时间段内的数据。使用 truncate
方法可以很方便地截取这个时间段的数据。
# 创建包含更多日期的示例 DataFrame
data_more = {
'A': range(1, 11),
'B': range(10, 101, 10),
'C': list('abcdefghij')
}
index_more = pd.date_range('2023-01-01', periods=10)
df_more = pd.DataFrame(data_more, index=index_more)
print("更多日期的原始数据:")
print(df_more)
# 截取 2023-01-03 到 2023-01-07 的数据
df_truncated_more = df_more.truncate(before='2023-01-03', after='2023-01-07')
print("截取更多日期的行:")
print(df_truncated_more)
输出:
更多日期的原始数据:
A B C
2023-01-01 1 10 a
2023-01-02 2 20 b
2023-01-03 3 30 c
2023-01-04 4 40 d
2023-01-05 5 50 e
2023-01-06 6 60 f
2023-01-07 7 70 g
2023-01-08 8 80 h
2023-01-09 9 90 i
2023-01-10 10 100 j
截取更多日期的行:
A B C
2023-01-03 3 30 c
2023-01-04 4 40 d
2023-01-05 5 50 e
2023-01-06 6 60 f
2023-01-07 7 70 g
通过这些示例,可以看到 truncate
方法在截取特定范围内的数据时非常灵活和有用。
更新时间:2024-07-16 20:36:10 标签:pandas python 截取 truncate