DataFrame值以startwith开头

时间:2016-09-20 08:25:59

标签: python pandas dataframe

我在pandas中有以下数据框:

        Datum   Zeit                                     Event
0  14.11.2016  13:00   Veröffentlichung des 9-Monats-Berichtes
1  14.03.2017  13:00            Telefonkonferenz für Analysten
2  14.03.2017  13:00            Telefonkonferenz für Analysten
3  27.04.2017  14:00              Ordentliche Hauptversammlung
4  03.05.2017  14:00                         Dividendenzahlung
5  15.05.2017  14:00                    Bericht zum 1. Quartal
6  14.08.2017  14:00           Telefonkonferenz für Investoren
7  14.08.2017  14:00            Telefonkonferenz für Analysten
8  14.08.2017  14:00  Veröffentlichung des Halbjahresberichtes

我在这里寻找季度报告的日期(“古老德语中的”Bericht“) 我可以通过

选择行
df.loc[df["Event"].str.startswith("Bericht"), "Datum"]

返回Series对象,如

5    15.05.2017
Name: Datum, dtype: object

但是,我只想要约会 - 我在这里过于复杂吗?

2 个答案:

答案 0 :(得分:5)

默认情况下,如果您需要标量值,则在访问Series中的特定列和行时会返回DataFrame,然后您可以使用.values访问数组元素以返回{{ 1}}数组然后索引到它:

np

为了安全起见,您应该在索引之前检查您的选择是否产生任何结果,否则您会得到In [101]: df.loc[df["Event"].str.startswith("Bericht"), "Datum"].values[0] Out[101]: '15.05.2017'

KeyError

答案 1 :(得分:0)

你做得很好。如果您只想拥有日期,可以这样做:

df.loc[df["Event"].str.startswith("Bericht"), "Datum"].values

返回日期列表。