如何在Python中按列打印指定格式的DataFrame?
问题:按列打印DataFrame内容的指定格式
给定DataFrame
Name Telephone Telephone2 0 Bill Gates 555 77 854 555 77 855 1 Bill Gates2 2 3
期望输出格式
Name Bill Gates Bill Gates2 Telephone 555 77 854 2 Telephone2 555 77 855 3
已尝试代码及结果
尝试代码
for key, val in df.iterrows(): for sub_val in val: print(sub_val)
实际输出
Bill Gates 555 77 854 555 77 855 Bill Gates2 2 3
解决方案
当前代码用iterrows()是按行遍历,输出自然是逐行的元素序列。要实现按列打印,需要改为遍历DataFrame的列,先输出列名,再输出该列的所有值。
方法一:基础循环实现
for col in df.columns: print(col) # 遍历当前列的所有值并打印 for value in df[col]: print(value)
方法二:简洁的apply写法
# 对每一列执行打印操作:先打列名,再打列内所有值 df.apply(lambda column: print(column.name, *column, sep='\n'))
两种方法都能输出所需格式,第一种逻辑直观易理解;第二种利用pandas的apply方法实现批量列处理,代码更简洁。
内容的提问来源于stack exchange,提问作者LOG
相关产品推荐
相关产品推荐

