我如何用“分割”来分割/&引用;在python中使用索引的分隔符?

我如何用“分割”来分割/&引用;在python中使用索引的分隔符?,python,pandas,numpy,indexoutofboundsexception,delimiter,Python,Pandas,Numpy,Indexoutofboundsexception,Delimiter,在一个数据帧中,一些列位于数据帧中。我想使用索引将列值拆分为“/”。下面是我要拆分数据的列列表 Eg:- split_columns = ['Fuel', 'Air Pollution Score', 'City MPG', 'Hwy MPG', 'Cmb MPG', 'Greenhouse Gas Score'] 如果燃料中包含数据,则输出应类似于“乙醇/气体” 这是我的密码- split_columns = ['Fuel', 'Air Pollution Score', 'City MPG

在一个数据帧中,一些列位于数据帧中。我想使用索引将列值拆分为“/”。下面是我要拆分数据的列列表

Eg:- split_columns = ['Fuel', 'Air Pollution Score', 'City MPG', 'Hwy MPG', 'Cmb MPG', 'Greenhouse Gas Score']
如果燃料中包含数据,则输出应类似于“乙醇/气体”

这是我的密码-

split_columns = ['Fuel', 'Air Pollution Score', 'City MPG', 'Hwy MPG', 'Cmb MPG', 'Greenhouse Gas Score']

for c in split_columns:
  df1[c] = df1[c].apply(lambda x: x.split("/")[0])
  df2[c] = df2[c].apply(lambda x: x.split("/")[1])

当我执行上述代码时,我发现一个错误“索引超出范围”

这里的意思是,有时,在其他几列中没有
“/”
。因此,当没有
“/”
时,split将只有一个元素。但是,您正在访问
x.split(“/”[1]
。这会导致索引错误。要解决此问题,只需检查x中是否存在
“/”
,或者只需检查拆分的长度。如果大于1,则表示存在一个
“/”

我建议使用索引
str[0]
str[1]
来选择第一个和第二个嵌套列表

如果
/
不存在,则输出为
NaN
值,而不是
索引自动边界异常

for c in split_columns:
  df1[c] = df1[c].astype(str).str.split("/").str[0]
  df2[c] = df2[c].astype(str).str.split("/").str[1]
它有一个索引问题: 我找到了两种解决方案: 1) 我将其拆分为2(在Jupyter的2个单元格中),这个错误消失了

对于拆分列中的c: df1[c]=df1[c]。应用(lambda x:x.split(“/”[0]) 对于拆分列中的c: df2[c]=df2[c]。应用(lambda x:x.split(“/”[1]”)

2) 我重命名第二个索引 对于拆分列中的c: df1[c]=df1[c]。应用(lambda x:x.split(“/”[0])
df2[c]=df2[c]。应用(lambda x:x.split(“/”[0])

如何检查分割长度。我们将取每一个混合动力行,并将它们分成两个新行-一个包含第一种燃料类型的值(在“/”之前的值),另一个包含第二种燃料类型的值(在“/”之后的值)。拆分的长度是
len(x.split(“/”)
获取此错误
只能使用带字符串值的.str访问器,在pandas
@user8487380-add
.astype(str)
@user8487380-split\u列的所有列都由字符串填充?