df中的一列包含表示集合的字符串
tables,n_estimators,min_samples_split,min_samples_leaf,max_depth
"{'school.csv'}",1024,16,4,8
"{'school.csv', 'univeristy.csv', 'work'}",1024,32,4,16
"{'univeristy.csv'}",1024,4,4,16
我试图找到一行对应于一个特定的设置值,如下所示:
hp_row = hp_df.loc[set(eval(hp_df['tables'].to_numpy())) == {school.csv'}]
但这显然行不通。你知道吗
ValueError: source code string cannot contain null bytes
关于如何正确操作有什么帮助吗?你知道吗
此处hp\ U行的预期值为
"{'school.csv'}",1024,16,4,8
请注意,我要比较的是集合对象,而不是字符串。你知道吗
谢谢
编辑: 我的临时解决方案(但正在寻找更紧凑和优化的解决方案):
for i in range(df.shape[0]):
row = df.iloc[i]
s = set(eval(row['tables']))
if s == {"school.csv"}:
selected_row = row
如果要使用包含require元素的set对行进行切片:
IIUC,您可以使用
ast.literal_eval
将列table
从字符串转换为集合,并将其分配给s
。接下来,使用loc
和s
进行切片相关问题 更多 >
编程相关推荐