在单个字符串中打印pandas行(jupyter notebook)

时间:2018-05-28 12:14:43

标签: python pandas

此代码:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
print(df.loc[0], df.loc[1])

提供下一个输出:

col1    1
col2    3
Name: 0, dtype: int64 col1    2
col2    4
Name: 1, dtype: int64

但是我想要这样的东西(因为我想在两个不同的数据帧的循环中打印很多行):

1 3, 2 4

请注意,我想在单行中看到输出

2 个答案:

答案 0 :(得分:2)

使用valuesSeries转换为1d numpy array

print(df.loc[0].values, df.loc[1].values)
[1 3] [2 4]

或转换为list s:

print(df.loc[0].values.tolist(), df.loc[1].values.tolist())
[1, 3] [2, 4]

答案 1 :(得分:1)

将numpy数组转换为str,然后替换括号&换行

这通常适用于具有多行的数据框

import re
import pandas as pd
d = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
re.sub(r']|\[', '', str(df.values).replace('\n',','))
# outputs:
'1 3, 2 4'