如何从Python中字典形式的数据帧列中选择浮点值?

问题描述 投票:0回答:1

我有一个像这样的数据框:

Date                      comp
01-01-2022      {'dfp':25.02,'ftp':12.06}
01-02-2022      {'dfp':12.01,'ftp':40.05}
01-03-2022      {'dfp':50.20,'ftp':35.25}

我正在尝试创建一个新列,其中仅包含 comp 列中的 dfp 值。

预期输出:

Date                      comp                   New
01-01-2022      {'dfp':25.02,'ftp':12.06}       25.02
01-02-2022      {'dfp':12.01,'ftp':40.05}       12.01
01-03-2022      {'dfp':50.20,'ftp':35.25}       50.20

我尝试了以下代码来执行相同的操作:

def new_col(x):
   for i in range(len(df)):
       return x[i]['dfp']

df['New'] = df['comp'].apply(new_col)

但是上面的代码会产生错误。我哪里出错了?

python pandas
1个回答
0
投票

可以使用 .str 访问器从 pandas 数据框中的字典中获取数据:

df['New'] = df['comp'].str['dfp']

输出:

         Date                          comp    New
0  01-01-2022  {'dfp': 25.02, 'ftp': 12.06}  25.02
1  01-02-2022  {'dfp': 12.01, 'ftp': 40.04}  12.01
2  01-03-2022   {'dfp': 50.2, 'ftp': 35.25}  50.20
© www.soinside.com 2019 - 2024. All rights reserved.