我有一个数据框行,并希望将其作为仅包含值而不是列的字符串来获取。
col1 | col2 | col3
-----------------
1 | 2 | 3
x | y | z
我希望只能选择一行并将其作为字符串,例如:
'1','2','3'
但是我仍然使列名仍然存在,或者很多其他值,例如:
"['1' '2'\n '3']"
答案 0 :(得分:4)
只需使用
df.iloc[1,:].to_string(header=False, index=False)
header = False->在输出字符串中不包括列名
index = False->在输出字符串中不包括行索引
答案 1 :(得分:1)
您可以使用iloc
来获取索引并提供结果。 iloc[row_indexes, column_indexes]
因此df.iloc[0,:]
将占据第一(第0)行和所有列。它将返回一个Series,因此您可以使用列表推导[str(x)in x inerable]将值作为字符串传递回。
import pandas as pd
df = pd.DataFrame({'a':[1, 2], 'b':[3, 4], 'c':[5, 6]})
[str(x) for x in df.iloc[0,:]]
['1', '3', '5']
答案 2 :(得分:0)
如果只希望将行0
中的值字符串与,
串联在一起,则可以执行以下操作:
import pandas as pd
df = pd.DataFrame({"col1":[1,"x"],"col2":[2,"y"],"col3":[3,"z"]})
l = df.iloc[0,:].apply(str).values
s = ",".join(l)
列表如下:
>> print l
['1' '2' '3']
得到的字符串是:
>> print s
1,2,3
答案 3 :(得分:0)
尝试:
df.apply(lambda x: list(x), 1)