如何在控制台打印带表头的空Pandas DataFrame?
实现空Pandas DataFrame仅打印表头
可以通过自定义打印逻辑来实现,以下是两种实用方案:
方案1:利用to_string快速实现
直接使用to_string方法并关闭索引显示,空DataFrame会仅输出表头:
import pandas as pd df = pd.DataFrame(columns=['EmpId', 'EmpName']) print(df.to_string(index=False))
输出效果:
EmpId EmpName
方案2:自定义函数匹配默认打印格式
这个方案会让空DataFrame的表头缩进和有数据时的索引列宽度对齐,完全匹配默认打印风格:
import pandas as pd def print_df(df): if df.empty: # 计算列宽,对齐默认打印格式 col_widths = [max(len(col), 6) for col in df.columns] # 前面添加对应索引列的空格(默认索引占6字符宽度) header = " " * 6 + "".join([f"{col:<{w}}" for col, w in zip(df.columns, col_widths)]) print(header) else: # 有数据时正常打印 print(df) # 测试空DataFrame df_empty = pd.DataFrame(columns=['EmpId', 'EmpName']) print_df(df_empty) # 输出: # EmpId EmpName # 测试有数据的DataFrame df_full = pd.DataFrame({'EmpId': [1, 2], 'EmpName': ["A", "B"]}) print_df(df_full) # 输出: # EmpId EmpName # 0 1 A # 1 2 B
内容的提问来源于stack exchange,提问作者user1401472
相关产品推荐
相关产品推荐

