Python 如何保存数据帧,使其没有分隔符?
我有以下数据帧:Python 如何保存数据帧,使其没有分隔符?,python,csv,pandas,dataframe,Python,Csv,Pandas,Dataframe,我有以下数据帧: 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
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
是否有可能以这种方式保存数据帧,或者有什么方法可以将所有列合并为一列?最“熊猫”的解决方案是什么?别管原始的
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
如果您确实想转置,则可以执行以下操作:
In [126]: df.T.apply(lambda row: ''.join(map(str, row)), axis=1)
Out[126]:
X 001111
Y 000000
Z 010010
dtype: object