使用来自其他列的行的信息创建新列

时间:2021-02-25 11:00:59

标签: pandas dataframe

我准备了大量包含来自 PDF 文件信息的数据框。 请在此处找到示例 PDF:https://www.estv.admin.ch/dam/estv/de/dokumente/allgemein/Dokumentation/Zahlen_fakten/Steuerstatistiken/steuerbelastung_gemeinden/2010/Steuerbelastung%20in%20den%20Gemeinden%202010.pdf.download.pdf/2010_steuerbelastung_gemeinden_d.pdf

我的 Pandas 数据框将包含第 6 - 63 页瑞士各市的税率(省略仅包含文本的页面)。

每个直辖市都属于一个“Canton”。例如,在 p. 6 所有直辖市都属于“Kanton Zürich”,如第一行所示。在第。 7、大部分直辖市属于“坎顿伯尔尼”。

我想创建一个包含 Canton 信息的附加列(并删除 Canton 行)。

很遗憾,我不知道如何将 Canton 信息分配给各个直辖市。

1 个答案:

答案 0 :(得分:0)

我找到了一个简单的解决方案。如果您有类似问题,请参阅下文。

df['Kanton'] = df['Gemeinde'].str.contains('^Kanton|^Canton')
df.loc[df['Kanton'] == True, 'Kanton'] = df['Gemeinde']
df.loc[df['Kanton'] == False, 'Kanton'] = np.nan
df['Kanton'].fillna(method='ffill', inplace = True)
df = df[~df['Gemeinde'].str.contains('^Kanton|^Canton')]