我如何用“分割”来分割/&引用;在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列的所有列都由字符串填充?