Skip to main content
 首页 » 编程设计

python之列代表行值的表

2025年05月04日17pengyingh

创建列值为 1 和 0 的表的最佳方法是什么。

id,string 
1,"x,y,z" 
2,"x,z" 
3,"x" 

我需要一张看起来像这样的 table

id,x,y,z,a,b,c 
1,1,1,1,0,0,0 
2,1,0,1,0,0,0 
3,1,0,0,0,0,0 

此外,字符串中所有可能的唯一值的完整列表是预定义的。 我有一个 csv 列表,看起来像

col 
x 
y 
z 
a 
b 
c 
. 
. 
. 

请您参考如下方法:

在SQL中,你可以使用case:

select id, 
       (case when string like '%x%' then 1 else 0 end) as x, 
       (case when string like '%y%' then 1 else 0 end) as y, 
       . . . 
from t; 

可能有更简单的公式,具体取决于数据库。此外,这假设这些值不重叠 - 正如它们在您的问题中一样。例如,“苹果”和“菠萝”会引起问题。