【问题标题】:How to save a pandas dataframe such that there is no delimiter?如何保存没有分隔符的熊猫数据框?
【发布时间】:2017-01-03 11:41:03
【问题描述】:

我有以下熊猫数据框:

import pandas as pd
df = pd.DataFrame(np.random.choice([0,1], (6,3)), columns=list('XYZ'))

   X  Y  Z
0  1  0  1
1  1  1  0
2  0  0  0
3  0  1  1
4  0  1  1
5  1  1  1

假设我进行了转置并希望保存它

df = df.T

   0  1  2  3  4  5
X  1  1  0  0  0  1
Y  0  1  0  1  1  1
Z  1  0  0  1  1  1

所以,有三行。我想以这种格式保存它:

X  110001
Y  010111
Z  100111

我试过了

df.to_csv("filename.txt", header=None, index=None, sep='')

但是,这会输出错误:

TypeError: "delimiter" must be an 1-character string

是否可以以这种方式保存数据框,或者有什么可以将所有列合并为一个?什么是最“熊猫”的解决方案?

【问题讨论】:

    标签: python csv pandas dataframe


    【解决方案1】:

    别管原来的df。不要转置。

    df = pd.DataFrame(np.random.choice([0,1], (6,3)), columns=list('XYZ'))
    
    df.astype(str).apply(''.join)
    
    X    101100
    Y    101001
    Z    111110
    dtype: object
    

    【讨论】:

      【解决方案2】:

      如果你确实想转置,那么你可以这样做:

      In [126]: df.T.apply(lambda row: ''.join(map(str, row)), axis=1)
      Out[126]: 
      X    001111
      Y    000000
      Z    010010
      dtype: object
      

      【讨论】:

        猜你喜欢
        • 2018-02-20
        • 1970-01-01
        • 2017-06-17
        • 1970-01-01
        • 1970-01-01
        • 2018-07-05
        • 2016-09-16
        • 2022-06-27
        • 2021-12-10
        相关资源
        最近更新 更多