Python 如何在向dataframe分配列时删除双引号

Python 如何在向dataframe分配列时删除双引号,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下清单 ColumnName = 'Emp_id','Emp_Name','EmpAGe' 当我试图阅读上面的列并在dataframe内部赋值时,我得到了额外的双引号 df = pd.dataframe(data,columns=[ColumnName]) columns=[ColumnName] i am getting columns = ["'Emp_id','Emp_Name','EmpAGe'"] 如何处理这些额外的双引号并将其删除,同时将标题分配给数据此代码 Colum

我有以下清单

ColumnName = 'Emp_id','Emp_Name','EmpAGe'
当我试图阅读上面的列并在dataframe内部赋值时,我得到了额外的双引号

df = pd.dataframe(data,columns=[ColumnName])

columns=[ColumnName]

i am getting columns = ["'Emp_id','Emp_Name','EmpAGe'"]
如何处理这些额外的双引号并将其删除,同时将标题分配给数据

此代码

ColumnName = 'Emp_id','Emp_Name','EmpAGe'
是元组而不是列表。 如果您想要三列,每个列上面的元组上都有您需要的值

df = pd.dataframe(data,columns=list(ColumnName))

只是为了加深理解,您可以使用
col.replace
获得所需的

让我们举个例子

>>> df
   col1"  col2"
0      1      1
1      2      2
结果:

>>> df.columns = [col.replace('"', '') for col in df.columns]
  # df.columns = df.columns.str.replace('"', '')  <-- can use this as well
>>> df
   col1  col2
0     1     1
1     2     2

问题在于如何定义DataFrame的列

以下示例将构建正确的数据帧:

    import pandas as pd
    ColumnName1 = 'Emp_id','Emp_Name','EmpAGe'

    df1 = [['A1','A1','A2'],['1','2','1'],['a0','a1','a3']]

    df = pd.DataFrame(data=df1,columns=ColumnName1 )

    df
结果:

    Emp_id  Emp_Name EmpAGe
0   A1      A1       A2
1   1       2        1
2   a0      a1      a3
我写的带有结果的代码的打印屏幕,没有重复引用


您的输入不太正确
ColumnName
已经类似于列表,应该直接传递,而不是包装在另一个列表中。在后一种情况下,它将被解释为一列

df = pd.DataFrame(data, columns=ColumnName)

我不能复制that@U10-前进。我没有得到我只是放置了一个示例数据集,看看这是否有帮助…@非常感谢您的回复,但是列得到了像['E'、'm'、'p']这样的分布…。我使用的代码与上面相同,但当我试图转换columns=list(ColumnName)或columns=eval(ColumnName)时,我有时会遇到“TypeError:Index(…)必须使用某种类型的集合调用“可能是您正在使用的
数据
变量。你能打印并显示它的格式和值吗?@J.K..非常感谢你的回复。我试过了,但是我得到了----TypeError:Index(…)必须用某种集合调用,@Arya,我编辑了我的代码并添加了第一行以包含pandas。因此,如果您在Jupyter中复制/粘贴我的代码,它应该可以正常工作。如果您仍然面临错误,请向我发送确切的错误以及您正在使用的工具。@Arya,我编辑了我的代码并添加了一个带有结果的代码打印屏幕。我没有双重报价。如果你复制了代码,仍然看到一个双引号,它可能与你正在使用的工具有关,或者其他东西…@我尝试过,但仍然在前导和尾随['Emp_id'、'Emp_Name'、'EmpAGe'中添加了双引号]“@Arya,如果你能把真正的数据帧示例与你得到的输出和错误放在一起,那么答案会更好。但是,如果您仍然得到引用,那么您可以尝试我引用的答案,只是为了再次检查。@Arya请提供给其他人进行测试。
df = pd.DataFrame(data, columns=ColumnName)