大熊猫用loc打印出行

时间:2017-04-25 14:55:39

标签: python pandas

我有一个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      ....

1 个答案:

答案 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