我已经在Python Pandas中创建了一个数据框,如下所示:
import pandas as pd
import os
cols = ('Name','AGE','SAL')
df = pd.read_csv("C:\\Users\\agupt80\\Desktop\\POC\\Python\\test.csv",names = cols)
print(df)
当我打印数据框时,我得到以下输出:
Name AGE SAL
0 Amit 32 100
1 gupta 33 200
2 hello 34 300
3 Amit 33 100
请帮助告知我,如何在列标题后插入连字符“-”,如下所示:
Name AGE SAL
------------------------
0 Amit 32 100
1 gupta 33 200
2 hello 34 300
3 Amit 33 100
答案 0 :(得分:0)
我不知道用于打印分隔符的任何熊猫自定义选项,但是您可以仅将df打印为字符串,然后自己插入行。像这样:
string_repr = df.to_string().splitlines()
string_repr.insert(1, "-" * len(string_repr[0]))
out = '\n'.join(string_repr)
>>> print(out)
Name AGE SAL
------------------
0 Amit 32 100
1 gupta 33 200
2 hello 34 300
3 Amit 33 100
答案 1 :(得分:0)
您可以执行以下操作:
import pandas as pd
df = pd.DataFrame([
['Amit', 32, 100],
['gupta', 33, 200],
['hello', 34, 100],
['Amit', 33, 100]],
columns=['Name', 'AGE', 'SAL'])
lines = df.to_string().splitlines()
num_hyphens = max(len(line) for line in lines)
lines.insert(1, '-' * num_hyphens)
result = '\n'.join(lines)
print(result)
输出:
Name AGE SAL
------------------
0 Amit 32 100
1 gupta 33 200
2 hello 34 100
3 Amit 33 100
您可以更改num_hyphens
的计算,具体取决于您希望输出的外观如何。例如,您可以这样做:
num_hyphens = 2 * len(lines[0]) - len(lines[0].strip())
获得:
Name AGE SAL
----------------------
0 Amit 32 100
1 gupta 33 200
2 hello 34 100
3 Amit 33 100
注意:如果DataFrame具有命名索引,to_string
将输出带有索引名称的附加标题行。在这种情况下,您可以选择删除该行(用连字符替换),在其后添加连字符(在位置2而不是1)。
答案 2 :(得分:0)
您需要
#shift the values one level
df=df.shift(1)
#fill the first row with hyphen
df.iloc[0]='----'
output
Name AGE SAL
---- ---- ----
Amit3 2 100
gupta 33 200
hello 34 300