使用分隔符将数据框展平到变量

时间:2018-09-26 14:17:27

标签: python string pandas dataframe

如何将其分配给变量而不是打印?

print(*df.values.flatten(), sep=',')

3 个答案:

答案 0 :(得分:3)

我认为如果可能的话,需要将值转换为字符串,而不是一些字符串列,然后调用join

a = ','.join(df.astype(str).values.flatten())

示例

df = pd.DataFrame({
    'A': ['b','b','c','d'],
    'B': list(range(4))
})
print (df)
   A  B
0  b  0
1  b  1
2  c  2
3  d  3

a = ','.join(df.astype(str).values.flatten())
print (a)
b,0,b,1,c,2,d,3

print(*df.values.flatten(), sep=',')
b,0,b,1,c,2,d,3

答案 1 :(得分:1)

','.join(df1.values.flatten())

答案 2 :(得分:1)

print将在单个语句中愉快地打印字符串和非字符串对象。但是,在形成字符串时,您必须显式执行转换。在这里,您可以将mapstr.join一起使用:

res = ','.join(map(str, df.values.flatten()))

或者,您可以将NumPy数组转换为包含字符串的数组:

res = ','.join(df.values.astype(str).flatten())
相关问题