如何使用 python 中的索引按“/”分隔符拆分?
How do I split by "/" delimiters using index in python?
在一个 DataFrame 中,一些列在 DataFrame 中。我想使用索引将列值按“/”拆分。下面是我要拆分数据的列列表。
Eg:- split_columns = ['Fuel', 'Air Pollution Score', 'City MPG', 'Hwy MPG', 'Cmb MPG', 'Greenhouse Gas Score']
如果 Fuel 中包含数据,那么输出应该类似于 "ethanol/gas"。
这是我的代码-
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])
当我执行上面的代码时,我发现了一个错误 "Index out of range"。
这里只是表示有时候,其他几栏没有"/"
。因此,当没有 "/"
时,split 将只有一个元素。但是,您正在访问 x.split("/")[1]
。这导致索引错误。要解决此问题,只需检查 "/"
是否存在于 x 中或仅检查拆分的长度。如果大于 1,则表示存在 "/"
。
我建议将 Series.str.split
与索引 str[0]
和 str[1]
一起用于 select 第一个和第二个嵌套列表。
如果 /
不存在,则输出为 NaN
值,而不是 IndexOutOfBoundsException
。
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]
它有一个索引问题:
我找到了 2 个解决方案:
1) 我将其分成 2 个(在 Jupyter 的 2 个单元格中),此错误消失了。
对于 split_columns 中的 c:
df1[c] = df1[c].apply(lambda x: x.split("/")[0])
对于 split_columns 中的 c:
df2[c] = df2[c].apply(lambda x: x.split("/")[1])
2) 我重命名了第二个索引
对于 split_columns 中的 c:
df1[c] = df1[c].apply(lambda x: x.split("/")[0])
df2[c] = df2[c].apply(lambda x: x.split("/")[0])
在一个 DataFrame 中,一些列在 DataFrame 中。我想使用索引将列值按“/”拆分。下面是我要拆分数据的列列表。
Eg:- split_columns = ['Fuel', 'Air Pollution Score', 'City MPG', 'Hwy MPG', 'Cmb MPG', 'Greenhouse Gas Score']
如果 Fuel 中包含数据,那么输出应该类似于 "ethanol/gas"。
这是我的代码-
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])
当我执行上面的代码时,我发现了一个错误 "Index out of range"。
这里只是表示有时候,其他几栏没有"/"
。因此,当没有 "/"
时,split 将只有一个元素。但是,您正在访问 x.split("/")[1]
。这导致索引错误。要解决此问题,只需检查 "/"
是否存在于 x 中或仅检查拆分的长度。如果大于 1,则表示存在 "/"
。
我建议将 Series.str.split
与索引 str[0]
和 str[1]
一起用于 select 第一个和第二个嵌套列表。
如果 /
不存在,则输出为 NaN
值,而不是 IndexOutOfBoundsException
。
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]
它有一个索引问题: 我找到了 2 个解决方案: 1) 我将其分成 2 个(在 Jupyter 的 2 个单元格中),此错误消失了。
对于 split_columns 中的 c: df1[c] = df1[c].apply(lambda x: x.split("/")[0]) 对于 split_columns 中的 c: df2[c] = df2[c].apply(lambda x: x.split("/")[1])
2) 我重命名了第二个索引 对于 split_columns 中的 c: df1[c] = df1[c].apply(lambda x: x.split("/")[0]) df2[c] = df2[c].apply(lambda x: x.split("/")[0])