数据帧值startswith

2024-05-28 18:45:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下熊猫数据框:

        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

不过,我只想有个约会-我是不是太复杂了?


Tags: 数据eventdfdeszeitverdatumbericht
2条回答

你做得很好。如果您只想知道日期,可以执行以下操作:

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

这将返回日期列表。

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

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

Out[101]:
'15.05.2017'

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

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

相关问题 更多 >

    热门问题