DataFrame值以startwith开头

Jan*_*Jan 5 python 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
Run Code Online (Sandbox Code Playgroud)

我在这里寻找季度报告的日期("古老的德语"中的"Bericht").
我可以通过选择行

df.loc[df["Event"].str.startswith("Bericht"), "Datum"]
Run Code Online (Sandbox Code Playgroud)

返回一个Series像这样的对象

5    15.05.2017
Name: Datum, dtype: object
Run Code Online (Sandbox Code Playgroud)

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

EdC*_*ica 9

默认情况下,Series当访问特定列时返回a,DataFrame如果需要标量值,则.values返回a,然后您可以使用返回np数组然后索引到其中来访问数组元素:

In [101]:
df.loc[df["Event"].str.startswith("Bericht"), "Datum"].values[0]

Out[101]:
'15.05.2017'
Run Code Online (Sandbox Code Playgroud)

为了安全起见,您应该在索引之前检查您的选择是否产生任何结果,否则您会得到KeyError:

if len(df.loc[df["Event"].str.startswith("Bericht"), "Datum"]) > 0:
   return df.loc[df["Event"].str.startswith("Bericht"), "Datum"].values[0]
Run Code Online (Sandbox Code Playgroud)