【发布时间】:2020-08-28 05:41:01
【问题描述】:
我有 100 多个 csv 文件,所有文件都包含一个具有相同索引和相同长度的表。我可以将它们连接成一个数据框并保存为 csv。
print(df)
a b c d
0 1 5 1 7 7
1 2 3 1 7 7
2 3 2 2 8 7
3 1 6 1 7 6
我想为现在空白的“初始索引”添加一个名称,但我找到的每个解决方案都不起作用... 我试过了:
df.rename(columns={'': 'initial'}, inplace=True)
df1 = df.rename(columns={'': 'initial'})
df1 = df.set_index('initial')
df1 = df.rename_axis("initial")
按原样打印页眉:
print([*df])
[' a b c d']
我正在使用 Python 3.7.3
编辑
感谢您的反馈。 Joe Ferndz 和 icecity96 解决方案都有效。他们最初并不只是因为 .csv 文件列是用空格而不是逗号分隔的,因此 DataFrame 只看到一列。添加 delim_whitespace=True
后问题消失了pd.read_csv(file, delim_whitespace=True)
之前的输出:
print(*df)
[' a b c d']
之后的输出:
print([*df])
['a', 'b', 'c', 'd']
【问题讨论】:
-
这看起来不像你从
print([*df])得到的输出,除非你有一个带有标签' a b c d'的单列并且一切都恰好打印得很完美。df.index是什么? -
原始数据框中有多少列。我认为是 5 还是 1?
-
你能打印 (list(df)) 并告诉我它显示了什么吗?它会打印 ['','a','b','c','d'] 吗?
-
发现我的错误后一切正常