我有一个dataframe
,在转换print(df.T)
打印出来时
index_label Col1 Col2 Col3 .... # Goes on for 25 columns
date_value1 v1 v1 v1 .... # Max of 5 rows
date_value2 v2 v2 v2 ....
date_value3 v3 v3 v3 ....
date_value4 v4 v4 v4 ....
date_value5 v5 v5 v5 ....
我尝试了以下代码来检索我感兴趣的行:
if my_date == 'date_value1':
print(df.T.loc[my_date])
这给出了结果:
index_label
Col1 v1
Col2 v1
Col3 v1
....
Name: date_value1, dtype: object
我的问题是;如何才能以相同的格式打印出来,只是打印出我想要的date_value
? IE:
index_label Col1 Col2 Col3 ....
date_value1 v1 v1 v1 ....
答案 0 :(得分:2)
您似乎需要为返回[]
添加DataFrame
,然后才能进行转置:
if my_date == 'date_value1':
print(df.T.loc[[my_date]])
或者:
if (my_date == 'date_value1'):
print(df[[my_date]].T)
样品:
print (df)
index_label date_value1 date_value2 date_value3 date_value4 date_value5
Col1 v1 v2 v3 v4 v5
Col2 v1 v2 v3 v4 v5
Col3 v1 v2 v3 v4 v5
my_date = 'date_value1'
if (my_date == 'date_value1'):
print(df[[my_date]].T)
Col1 Col2 Col3
index_label
date_value1 v1 v1 v1
感谢您提供更好的解释,piRSquared:
df.loc [stuff] 这里的括号属于 loc ,而东西就是它的内容。如果 stuff 是标量,则会获得 pd.Series 。如果东西是列表或数组,那么您会获得 pd.DataFrame 。