2つのDataFramesでインデックスを作成するには、同等のインデックスが必要です。この場合、1つのDataFrame
は整数インデックスを持ち、もう1つは日付を持つため、動作しません。あなたはあなたのbool
配列を使用して缶フィルタを言うようしかし
、。配列Series
には.values
でアクセスできます。例えば
df # pandas.DataFrame
s # pandas.Series
df[s.values] # df, filtered by the bool array in s
を、あなたのデータを::
import pandas as pd
df = pd.DataFrame([
[30.20, 29.41, 29.87],
[30.28, 29.32, 30.24],
[30.45, 29.96, 30.10],
[29.35, 28.74, 28.90],
[29.35, 28.56, 28.92],
],
columns=['High','Low','Close'],
index=['2009-02-11','2009-02-12','2009-02-13','2009-02-17','2009-02-18']
)
s = pd.Series([True, False, False, True, False], name='bools')
df[s.values]
は、次の値を返します。
High Low Close
2009-02-11 30.20 29.41 29.87
2009-02-17 29.35 28.74 28.90
あなただけのハイコラムをしたい場合は、次のようにこれは、フィルタを適用することができますこれを通常通り(bool
フィルタの前または後)にフィルタリングできます。
(Series
として)あなたのターゲット出力を取得するには:
2009-02-11 30.20
2009-02-17 29.35
Name: High, dtype: float64
ので、インデックスが問題です。ありがとうございました!それは素晴らしいです!遅刻してすみません。 :D – Osora