假設我有以下pandas df
import pandas as pd
d = [0.0, 1.0, 2.0]
e = pd.Series(d, index = ['a', 'b', 'c'])
df = pd.DataFrame({'A': 1., 'B': e, 'C': pd.Timestamp('20130102')})
現在我有另一個陣列
select = ['c', 'a', 'x']
顯然,該元素'x'在我原來的df. 如何選擇df基于的行select但僅選擇可用行而不會出現任何錯誤?即在這種情況下,我只想選擇與此順序相對應'c'并'a'保持此順序的行。
任何指標都會非常有幫助。
uj5u.com熱心網友回復:
你可以使用reindex dropna:
out = df.reindex(select).dropna()
您還可以在之前過濾選擇reindex:
out = df.reindex([i for i in select if i in df.index])
輸出:
A B C
c 1.0 2.0 2013-01-02
a 1.0 0.0 2013-01-02
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433566.html
標籤:Python python-3.x 熊猫 数据框
