私はthisオープンデータセットでエクササイズしています。使用済みのデータフレームの基本的な説明:パンダ/ Pythonデータフレーム - マージロジックで失われました
データの可用性についての情報が含まれている1があります:dataavail
Timestamp Availability
201605252300 True
201605252315 False
201605252015 True
事があればということであり、実際のデータweatherdata
SquareID Timestamp Precipitation
25 201605252300 1
が含まれている1がありますなし雨、つまりではなく、weatherdata.Precipitation
であるであるが、0
であるが、s weatherdata
から欠落していることを示します。しかし、失われたデータのすべてが降水量を意味するわけではなく、技術的な失敗を意味する可能性もあります。それでdataavail
が届きます。Timestamp
がdata
の場合、Availability
はFalse
です。これは技術的な問題があり、データがないことを意味します。 data
でTimestamp
ためAvailability
がTrue
であれば、それは降水量が実際に私はオプションの完全なスペクトル、次のようになり、すなわち1を説明データフレームを持っているように、これら二つのデータフレームを組み合わせたい0
たことを意味します:これを達成するために今すぐ
Timestamp Availability Precipitation
201605252300 True 1 #if the availability is True, and there's rain, data can be pulled from weatherdata
201605252315 False NaN #if there's a technical issue, data can stay NaN for further imputation
201605252015 True 0 #if the data's availability is True, but there's no entry fot it in weatherdata, it should be 0
、私はdocumentationこれによると、私の理解では
precip_alldata = pd.merge(weatherdata, dataavail, on=['Timestamp'], how='right')
としてそれらをマージしようとしています
右必要があります。右側のフレームからキーのみを使用(SQL:右の外部結合)
しかしdataavail
にすべての可能なタイムスタンプの可用性データがありますので、それは、私が欲しいものです。また、これは、可用性がTrueの場合にNaNを0に置き換えていないことも理解しています。しかし、出力precip_alldata
にはすべての行がありません。Availability
はTrue
ですが、Precipitation
はNaN
です。これは私の考えでは何かが間違っていると信じています。生データセットを見ると、降水がなく、Avaiability
がTrue
である場合を明確に見ることができます。だから私の出力は、私の理解で
Timestamp Availability Precipitation
201605252300 True 1
201605252315 False Nan
のようになります/私が欲しいのは、この最初のステップで
Timestamp Availability Precipitation
201605252300 True 1
201605252315 False NaN
201605252015 True NaN
です。 私の考えで、犯人を指摘してください。ありがとうございました!
は何も変更していますか? – Khris
@Khris - 両方のデータセットに降水量が存在しないため、これは機能しません。 –