此代码:
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
请注意,我想在单行中看到输出 。
答案 0 :(得分:2)
使用values
将Series
转换为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'