我有一个包含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)
但没有什么能给我想要的输出。请帮忙
答案 0 :(得分:2)
Pandas在打印到控制台时缩写了DataFrames。而是使用DataFrame.to_csv
将DataFrame直接写入文件。
有关to_csv
的信息,请参阅here。
例如:
s1.to_csv('data.csv')