将pandas系列写入制表符分隔文件

时间:2016-08-26 17:05:57

标签: python pandas

我有一个由group by生成的pandas系列y,看起来像

Item   Attribute  Feature
aaaa   x1         f1,f2
       x2         f3,f4
bbbb   x3         f5
       x4         f6

我想生成一个与上面完全相同的制表符分隔输出。当我尝试

y.to_csv('out',sep = "\t")

我得到了

Item   Attribute   Feature
aaaa   x1         f1,f2
aaaa   x2         f3,f4
bbbb   x3         f5
bbbb   x4         f6

我想避免在“Item”列中重复元素。你能帮忙吗

1 个答案:

答案 0 :(得分:0)

您想要的文字不是csv

假设df是您的数据框或系列:

with open('out.txt', 'w') as f:
    f.write(df.__repr__())

to_txt功能

import pandas as pd

def to_txt(df, fn=None):
    x, c, r = ['expand_frame_repr', 'max_columns', 'max_rows']
    current_max_col = pd.get_option(c)
    current_max_row = pd.get_option(r)
    current_xpd_frm = pd.get_option(x)

    pd.set_option(x, False)
    pd.set_option(c, df.shape[1])
    pd.set_option(r, df.shape[0])

    if fn is not None:
        with open(fn, 'w') as f:
            f.write(df.__repr__())
    else:
        return df.__repr__()

    pd.set_option(x, current_xpd_frm)
    pd.set_option(c, current_max_col)
    pd.set_option(r, current_max_row)

示范

to_text(df, 'test_file.txt')