Я на Python 2.7.
Я хочу понять, как принимается решение в первом примере ниже?всегда ли он возвращает True?
Я бы подумал, что это должно привести к ошибке, поскольку строка и метка времени не сравнимы напрямую.Во втором примере я беру отдельное значение из двух данных и сравниваю, это действительно вызывает ошибку.
str_df = pd.DataFrame(['a', 'b'], columns=['str'])
time_df = pd.DataFrame([pd.Timestamp('2018-12-12'), pd.Timestamp('2018-12-14')],columns=['date'])
str_df['str'] > time_df['date']
Out[30]:
0 True
1 True
dtype: bool
Out[31]: str_df.at[0, 'str'] <time_df.at[0,'date']
Traceback (most recent call last):
File "C:\pithon.shared - Copy\prod\400.123\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-32-d6617ccabf86>", line 1, in <module>
str_df.at[0, 'str'] <time_df.at[0,'date']
File "pandas\tslib.pyx", line 941, in pandas.tslib._Timestamp.__richcmp__ (pandas\tslib.c:18619)
TypeError: Cannot compare type 'Timestamp' with type 'str'