如何从第二列的列中选择数据

时间:2019-06-11 10:25:25

标签: python pandas

我试图仅根据某些数据来统计一些统计信息。

df = pd.DataFrame({ 'Job' : ["id1","id2","id3","id4","id5"], 
               'Time_20190611' :[1.2,1.1,1.32,1.5,23],'Status_20190611' :['OK','OK','NOK','OK','NOK'], 
               'Time_20190610' :[1.32,1.12,1.56,1,12],'Status_20190610' :['OK','OK','NOK','OK','OK'],
               'Time_20190609' :[41,31,11,12,341],'Status_20190609' :['OK','NOK','OK','OK','NOK']}).set_index('Job')

我在数据框中有类似的内容,我试图弄清楚如何添加新的列,其中新列的时间只能是中位数,并且“时间”是确定的。我不知道如何破解。有任何建议吗?

先谢谢了。

2 个答案:

答案 0 :(得分:0)

我将原始数据帧拆分为2个新数据帧:

 times_df = df.iloc[:,::2]
 status_df = df.iloc[:,1::2]

之后要应用status_df,我需要更改列名称:

status_df.columns = times_df.columns
times_df[status_df == "OK"] 

现在,我只能从“确定”运行中获得时间,而且我能够统计自己的统计信息。 使用例如。 df [“ Mean”] = df.mean(numeric_only = True,axis = 1)

谢谢。

答案 1 :(得分:-1)

尝试一下,这种事情应该可以解决,您可以在查询中添加更多参数

import pandas as pd
df = pd.read_csv('<path_to_file>')

x = df['Status']

if x == 'OK':
    print(x)