如何将函数应用于dataframe列中现有的第二个元素,而不从没有第二个元素的元素获取IndexError?

2024-05-15 12:32:13 发布

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

我有一个数据框,其中某些列有两个元素被“/”分割。 例如,“燃料”栏下的“汽油/电力”

但是,并非列中的所有元素都有两个元素。有些只是不含第二种元素的“汽油”

  • 当我应用下面的公式搜索[0]位置时,一切都变好了
  • 当我将其设置为[1]位置时,它返回索引错误:列表索引超出范围

有没有一种方法可以在列表压缩行中使用下面的代码,同时避免此错误

我已经尝试创建一个单独的数据框,其中只包含两个元素的行

这是可行的,但我想知道是否有一种方法可以做到这一切,而不必创建单独的daraframe并将所有行保存在一个数据帧中

见下文,谢谢


split_columns = ['fuel','city_mpg','hwy_mpg','cmb_mpg']

divide=lambda x:x.split("/")[1]

result1=[(list(map(divide, df_18[c]))) for c in split_columns]

print(result1)

索引器:列表索引超出范围


Tags: columns数据方法元素列表错误公式split