master_frame [“ primary_sector”] = master_frame [“ category_list”]。str.split(“ |”)。apply(lambda x:x [0])
我有一列“ category_list”,它是由“ |”分隔的名称的组合。我必须从该列中取名字,然后创建一个新列“ primary_sector”。
我正在运行上面的代码,但它给了我这个错误:“ float”对象不可下标。 我不明白,为什么它显示错误。我足够清楚吗?
答案 0 :(得分:0)
您的解决方案适用于您所描述的数据框:
master_frame = pd.DataFrame(['hello|world', 'hello|world'], columns=['category_list'])
master_frame["primary_sector"] = master_frame["category_list"].str.split("|").apply(lambda x: x[0])
master_frame
category_list primary_sector
0 hello|world hello
1 hello|world hello
所以错误可能出在您正在使用的数据框或类别中。