繁体   English   中英

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

[英]How to capture list data into data frame

我有以下代码从两个不同的表中捕获数据,比较结果并获得输出。

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)}

当我试图将它分配给数据帧时,我得到“'dict'对象没有属性'追加'”如何将上面的“数据”分配到具有列A,B,C或任何其他方式的正确数据帧中。

预期产出:

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

您可以将集传递给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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM