我正在尝试将一些数据帧写入csv文件。但是,列F至N应该为空。这是我使用的数据框:
data = [['a'], ['b'], ['c'], ['d'], ['e'], ['o']]
dataFrame = pandas.DataFrame(data).transpose()
字母是为了澄清数据应该在哪一列。例如,'c'
在C列下。但是,当前行'o'
在F列下。有没有办法告诉此dataFrame它应该跳过F列到N列并写入'o'
在O列下?
我认为可以多次写[], [], []
,但这似乎没有必要。有没有一种聪明的方法可以用逗号分隔多个空列表?像上面的例子一样?
感谢您的阅读。如果有任何不清楚的地方,请通知我!
答案 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