Pandas 使用pandas组合日期和时间列

Pandas 使用pandas组合日期和时间列

在本文中,我们将介绍如何使用Pandas在数据集中组合日期和时间列。Pandas是一个图表库,用于处理和分析大型数据集。Pandas能够操纵和组合日期和时间列,以便更有效地处理数据。

阅读更多:Pandas 教程

创建DataFrame

我们将首先创建一个包含日期和时间列的Dataframe,用于演示如何组合这两个列。在这个例子中,我们将使用两个DataFrame“year”和“day”,每个DataFrame将有5个条目。

import pandas as pd

year = pd.DataFrame({'year': [2021, 2021, 2021, 2021, 2021]}) 

day = pd.DataFrame({'day': [1, 2, 3, 4, 5]})

print(year)
print(day)

结果:

   year
0  2021
1  2021
2  2021
3  2021
4  2021

   day
0    1
1    2
2    3
3    4
4    5

用Pandas通过组合列来创建日期时间

接下来,我们将使用Pandas Dataframe中的“to_datetime”函数来将两个数据帧的“day”和“year”列组合成日期时间列。

datetime = pd.to_datetime(year.assign(day=day['day']))
print(datetime)

结果:

0   2021-01-01
1   2021-01-02
2   2021-01-03
3   2021-01-04
4   2021-01-05
dtype: datetime64[ns]

我们可以看到,通过在“year”和“day”列中组合日期和时间,我们得到了一个新的日期时间列。这种方法非常方便,因为它只需要一行代码,即使用“to_datetime”函数,就可以完成。更重要的是,我们可以在任何时候组合列,从而执行各种操作和分析。

如何在Pandas中使用datetime64进行操作

我们已经知道了如何在Pandas中创建一个日期时间列,但有时我们需要对这个列进行操作。Pandas提供了多种方法来操作datetime64列。例如,我们可以使用“dt.day”、“dt.month”、“dt.year”、“dt.hour”、“dt.minute”和“dt.second”等函数,从日期时间列中提取特定时间和日期部分。

import pandas as pd

year = pd.DataFrame({'year': [2021, 2021, 2021, 2021,2021]}) 

day = pd.DataFrame({'day': [3,17,28,14,22]})

datetime = pd.to_datetime(year.assign(day=day['day']))

print(datetime.dt.day)
print()
print(datetime.dt.month)

结果:

0     3
1    17
2    28
3    14
4    22
dtype: int64

0    1
1    1
2    1
3    1
4    1
dtype: int64

在这个例子中,我们使用“dt.day”和“dt.month”函数来提取日期时间列的日期和月份部分。

在Pandas中使用datetime64进行过滤和排序

我们可以在Pandas中使用datetime64进行数据集中的过滤和排序。在下面的例子中,我们将创建一个Dataframe,其中包含日期时间列和列“value”,然后使用日期时间进行排序。

import pandas as pd 

dates = pd.date_range('20210101', periods=5)

df = pd.DataFrame({'date': dates,
                    'value': [4, 1, 3, 2, 1]})

print(df)

df = df.set_index('date').sort_index()

print(df)

结果:

        date  value
0 2021-01-01      4
1 2021-01-02      1
2 2021-01-03      3
3 2021-01-04      24 2021-01-05      1

            value
date             
2021-01-01      4
2021-01-02      1
2021-01-03      3
2021-01-04      2
2021-01-05      1

可以看到,我们使用了“set_index”函数设置了日期时间列为索引,并使用“sort_index”函数对Dataframe进行排序。我们可以按升序或降序对列进行排序,以便更好地理解数据集。

在Pandas中进行日期和时间的算术运算

通过将日期时间列转换为pandas中的日期时间对象,我们可以在Pandas中轻松执行日期和时间的算术运算。在下面的例子中,我们将使用数据帧“df1”和“df2”,并通过将它们的日期时间列相加来创建一个新的数据帧。

import pandas as pd 

df1 = pd.DataFrame({'date': ['2021-01-01', '2021-01-02', '2021-01-03'], 
                       'value': [4, 1, 3]}) 

df2 = pd.DataFrame({'date': ['2021-01-01', '2021-01-02', '2021-01-03'], 
                       'value': [2, 5, 1]}) 

df1['date'] = pd.to_datetime(df1['date'])
df2['date'] = pd.to_datetime(df2['date'])

df = pd.DataFrame({'date': df1['date'] + df2['date'], 
                   'value': df1['value'] + df2['value']})

print(df)

结果:

        date  value
0 2022-01-02      6
1 2022-01-04      6
2 2022-01-06      4

在这个例子中,我们使用“to_datetime”函数将日期字符串转换为日期时间,并使用Dataframe的算术运算符进行日期和时间列的相加操作,从而创建新的日期时间列。

总结

在本文中,我们介绍了如何使用Pandas组合日期和时间列,并进行日期和时间的一些操作,例如筛选、排序和算术运算。我们也看到了Pandas和Python的很多有用函数和方法。Pandas的数据结构和函数使得处理大型数据集更加容易和高效,从而使数据科学家和分析师能够进行更复杂的数据分析。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程