我是熊猫新手。我有以下 pandas 数据框,其中包含以下值:
index print_statement timestamp
0 echo "I AM HAPPY2" 2018-11-12 08:01:00
1 echo "I AM HAPPY3" 2018-11-12 08:01:00
2 echo "I AM HAPPY1" 2018-11-12 08:01:00
3 echo "I AM HAPPY4" 2018-12-12 08:02:00
4 echo "I AM HAPPY5" 2018-12-13 08:02:00
Run Code Online (Sandbox Code Playgroud)
我想将 df 进行比较: - 假设我有一个 time_argument ,它是datetime.datetime(2018, 12, 12, 5, 1)。我想将结果存储在另一个dataframe时间戳> time_argument 中。
我尝试使用以下方法:
for index, row in df.iterrows():
date_store = row['time_to_expire']
if date_store.to_pydatetime() >= ii:
df_final = row
Run Code Online (Sandbox Code Playgroud)
但我没有得到想要的答案。
希望我能清楚地回答这个问题。
你可以这样做:
首先将时间戳列转换为 Pandas 日期时间:
In [2346]: df.timestamp = pd.to_datetime(df.timestamp)
In [2347]: df
Out[2347]:
print_statement timestamp
0 echo "I AM HAPPY2" 2018-11-12 08:01:00
1 echo "I AM HAPPY3" 2018-11-12 08:01:00
2 echo "I AM HAPPY1" 2018-11-12 08:01:00
3 echo "I AM HAPPY4" 2018-12-12 08:02:00
4 echo "I AM HAPPY5" 2018-12-13 08:02:00
In [2348]: time_argument = datetime.datetime(2018, 12, 12, 5, 1)
In [2350]: result = df[df.timestamp > time_argument]
Out[2350]: result
print_statement timestamp
3 echo "I AM HAPPY4" 2018-12-12 08:02:00
4 echo "I AM HAPPY5" 2018-12-13 08:02:00
Run Code Online (Sandbox Code Playgroud)