创建多个以逗号分隔的空列表

时间:2018-10-02 10:45:14

标签: python python-3.x pandas list indexing

我正在尝试将一些数据帧写入csv文件。但是,列F至N应该为空。这是我使用的数据框:

data = [['a'], ['b'], ['c'], ['d'], ['e'], ['o']]
dataFrame = pandas.DataFrame(data).transpose()

字母是为了澄清数据应该在哪一列。例如,'c'在C列下。但是,当前行'o'在F列下。有没有办法告诉此dataFrame它应该跳过F列到N列并写入'o'在O列下?

我认为可以多次写[], [], [],但这似乎没有必要。有没有一种聪明的方法可以用逗号分隔多个空列表?像上面的例子一样?

感谢您的阅读。如果有任何不清楚的地方,请通知我!

1 个答案:

答案 0 :(得分:6)

对于Pandas数据框,无法实现您所期望的。熊猫的名称源自“面板数据”。这样,它围绕NumPy数组构建,每个数据序列或“列”对应一个。在导出到CSV或Excel文件时,系列的“占位符”不能被跳过。

您可以显式地将索引设置为与数据框值相等,然后将pd.DataFrame.reindex与字母列表一起使用。如果列数超过26,请参见Get Excel-Style Column Names from Column Number

import pandas as pd
from string import ascii_lowercase

data = [['a'], ['b'], ['c'], ['d'], ['e'], ['o']]

df = pd.DataFrame(data)
df.index = df[0]

df = df.reindex(list(ascii_lowercase)).T.fillna('')

print(df[list('abcdefg') + list('mnopqrs')])

0  a  b  c  d  e f g m n  o p q r s
0  a  b  c  d  e          o