如何将列表数据捕获到数据框架中

2024-06-28 19:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的代码从两个不同的表中捕获数据,比较两个结果并得到输出。你知道吗

EmplTbl = cur.execute("select A , B , C from EmployeeTable where EmplName in ('A','B')") 
emp_entries = set(cur)

DeptTbl = cur.execute("select A , B , C from DeptTable") 
dept_entries = set(cur) 

print(emp_entries.difference(dept_entries))

下面是我收到的输出

Output: 

{(1, A, X),(2, B, Y),(3, B, Y)}

当我试图将其分配给dataframe时,得到的是“'dict'对象没有属性'append'” 如何将上述“数据”分配到A、B、C列或任何其他方式的适当数据框中。你知道吗

预期产量:

 A, B, C     
 1, A, X
 2, B, Y
 3, B, Y

Tags: 数据代码infromexecutewhereselectentries
1条回答
网友
1楼 · 发布于 2024-06-28 19:06:13

可以将集合传递给DataFrame构造函数:

a = {(1, 'A', 'X'),(2, 'B', 'Y'),(3, 'B', 'Y')}

cols = ['A','B','C']
df = pd.DataFrame(a, columns=cols)
print (df)
   A  B  C
0  2  B  Y
1  1  A  X
2  3  B  Y

如果需要按第一个值排序:

a = {(1, 'A', 'X'),(2, 'B', 'Y'),(3, 'B', 'Y')}

L  = sorted(list(a), key=lambda tup: tup[0])
cols = ['A','B','C']
df = pd.DataFrame(L, columns=cols)
print (df)
   A  B  C
0  1  A  X
1  2  B  Y
2  3  B  Y

对于写入csv时删除索引值,请使用:

df.to_csv(file, index=False)

相关问题 更多 >