Pandas: boolean Indizierung mit ungleichen Längen Serie

Gegeben zwei pandas Reihe von Objekten Ein und Spiele. Entspricht, enthält eine Teilmenge der Indizes von A und hat boolean-Einträge. Wie macht man das äquivalent der logischen Indizierung?

Wenn Spiele wurden in der gleichen Länge wie Ein, könnte man genauso verwenden:

A[Matches] = 5.*Matches

Mit Spiele kürzer erhält man:

error: Unalignable boolean Series key provided

Edit 1: Darstellung wie gewünscht

In [15]: A = pd.Series(range(10))

In [16]: A
Out[16]: 0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: int64

In [17]: Matches = (A<3)[:5]

In [18]: Matches
Out[18]: 0     True
1     True
2     True
3    False
4    False
dtype: bool

In [19]: A[Matches] = None
---------------------------------------------------------------------------
IndexingError                             Traceback (most recent call last)
<ipython-input-19-7a04f32ce860> in <module>()
----> 1 A[Matches] = None

C:\Anaconda\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value)
    631 
    632         if _is_bool_indexer(key):
--> 633             key = _check_bool_indexer(self.index, key)
    634             try:
    635                 self.where(~key, value, inplace=True)

C:\Anaconda\lib\site-packages\pandas\core\indexing.py in _check_bool_indexer(ax, key)
   1379         mask = com.isnull(result.values)
   1380         if mask.any():
-> 1381             raise IndexingError('Unalignable boolean Series key provided')
   1382 
   1383         result = result.astype(bool).values

IndexingError: Unalignable boolean Series key provided

In [20]: 

Dem Ergebnis bin ich auf der Suche nach ist:

In [16]: A
Out[16]: 0    None
1    None
2    None
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: int64

Den Bau der Spiele-Serie ist künstlich und nur für Abbildung. Auch in meinem Fall Zeilen-Indizes sind offensichtlich nicht-numerische und nicht gleich element Werte...

Könnten Sie ein Beispiel geben input und output? Ich bin mir nicht ganz sicher, was Sie wollen.
Beispiel Hinzugefügt, in Frage zu stellen.

InformationsquelleAutor ARF | 2014-04-15

Schreibe einen Kommentar