DataframeとSeriesを比較して、dfの行の1つがシリーズと等しいかどうかをチェックしようとしています。データフレームとdatetimeを含むシリーズとの比較
d.values == s.values
array([[ True, True],
[False, False]], dtype=bool)
また、このエラーは発生しません使用して文字列:
d = pd.DataFrame([[1, "a"], [2, "b"]])
s = d.loc[1].copy()
print(s == d)
# 0 1
#0 True True
#1 False False
import pandas as pd
import datetime as dt
d = pd.DataFrame([[1, dt.datetime(1990,12,10)],
[2, dt.datetime(1990,12,11)]])
s = d.loc[0].copy()
print(d == s) # or d.gt(s) which should do the same
これはvalues
が期待される結果が得られ比べると、次のエラー
TypeError: int() argument must be a string, a bytes-like object or a number, not 'Timestamp'
で破ります
これはパンダのバグですか、何か間違っていますか?
EDIT:
私はパンダ0.20.3
でのpython 3.6を使用している私はパンダのgithubの上の問題を開設: 17411
上にあるとして、質問を削除します: 'D = pd.DataFrame([[1、「」]、 [2、 "b"]]) s = d.loc [0] .copy() '、' d == s'しかし、実際に面白いです – gionni
@gionniはありません - 私はそれをもっと見てください。 – Stael
本当にありがとう、感謝します。私はそれがどのように動作するかを理解するためにデバッグでサンプルを実行しようとしていますが、それはかなり複雑です – gionni