选择两个日期之间的 Pandas 数据框行
先决条件:熊猫
Pandas是一个建立在 NumPy 库之上的开源库。它是一个Python包,提供用于处理数值数据和时间序列的各种数据结构和操作。它主要用于更容易地导入和分析数据。 Pandas 速度快,为用户提供高性能和生产力。
本文重点介绍在两个日期之间获取选定的 Pandas 数据框行。我们可以通过使用过滤器来做到这一点。
日期最初可以通过多种方式表示:
- 字符串
- np.datetime64
- 日期时间.日期时间
为了在 pandas 中操作日期,我们使用 pandas 中的 pd.to_datetime()函数将不同的日期表示形式转换为 datetime64[ns] 格式。
Syntax: pandas.to_datetime(arg, errors=’raise’, dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin=’unix’, cache=False)
Parameters:
- arg: An integer, string, float, list or dict object to convert in to Date time object.
- dayfirst: Boolean value, places day first if True.
- yearfirst: Boolean value, places year first if True.
- utc: Boolean value, Returns time in UTC if True.
- format: String input to tell position of day, month and year.
方法
- 导入模块
- 创建或加载数据
- 创建数据框
- 将日期列转换为 datetime64[ns] 数据类型
- 定义开始日期和结束日期。
- 使用过滤器显示更新后的数据框并存储它。
- 显示数据框
示例:原始数据框
Python3
import pandas as pd
data = {'Name': ['Tani', 'Saumya',
'Ganesh', 'Kirti'],
'Articles': [5, 3, 4, 3],
'Location': ['Kanpur', 'Kolkata',
'Kolkata', 'Bombay'],
'Dates': ['2020-08-04', '2020-08-07', '2020-08-08', '2020-06-08']}
# Create DataFrame
df = pd.DataFrame(data)
display(df)
Python3
import pandas as pd
data = {'Name': ['Tani', 'Saumya',
'Ganesh', 'Kirti'],
'Articles': [5, 3, 4, 3],
'Location': ['Kanpur', 'Kolkata',
'Kolkata', 'Bombay'],
'Dates': ['2020-08-04', '2020-08-07', '2020-08-08', '2020-06-08']}
# Create DataFrame
df = pd.DataFrame(data)
start_date = '2020-08-05'
end_date = '2020-08-08'
mask = (df['Dates'] > start_date) & (df['Dates'] <= end_date)
df = df.loc[mask]
display(df)
输出:
示例:在两行之间选择数据框行
蟒蛇3
import pandas as pd
data = {'Name': ['Tani', 'Saumya',
'Ganesh', 'Kirti'],
'Articles': [5, 3, 4, 3],
'Location': ['Kanpur', 'Kolkata',
'Kolkata', 'Bombay'],
'Dates': ['2020-08-04', '2020-08-07', '2020-08-08', '2020-06-08']}
# Create DataFrame
df = pd.DataFrame(data)
start_date = '2020-08-05'
end_date = '2020-08-08'
mask = (df['Dates'] > start_date) & (df['Dates'] <= end_date)
df = df.loc[mask]
display(df)
输出: