Python 2.7。使用pandas打印所有列和行来扩大输出显示。

时间:2018-05-07 22:12:09

标签: python pandas

我有一个包含5列和2000行的data.frame a和一个包含200列和10,000,000行的data.frame b。我正在尝试使用以下代码基于两个公共列合并这两个数据帧:

import pandas as pd
pd.set_option('expand_frame_repr', False)

import sys
sys.stdout = open("c.txt", "w")

ct = pd.read_csv("a.txt", sep = ",")
gtex = pd.read_csv("b.txt", sep = "\t")

s1 = pd.merge(ct, gtex, how='left', on=['CHR', 'POS'])

print s1

但是,我得到的c.txt是这样的(玩具示例):

A B C ... X Y Z
1 4 5 ... 1 1 1
2 6 7 ... 3 3 3
...   ... .....
1999 6 7 ... 6 7 8
2000 8 9 ... 8 9 9

我想获得一个显示所有203列和2000行的c.txt文件,但我无法做到。

我有一台Apple笔记本电脑,我正在使用Python 2.7。我看过像Python pandas, how to widen output display to see more columns?这样的帖子,并试过这样的选项:

pd.set_option('display.max_columns', None)
pd.set_option('max_rows',3000)
pd.set_option('max_colwidth', 200)
pd.set_option('display.height', 1000)
pd.set_option('display.max_columns', 150)
pd.set_option('display.width', 1000)

但没有什么能给我想要的输出。请帮忙

1 个答案:

答案 0 :(得分:2)

Pandas在打印到控制台时缩写了DataFrames。而是使用DataFrame.to_csv将DataFrame直接写入文件。

有关to_csv的信息,请参阅here

例如:

s1.to_csv('data.csv')