我试图仅根据某些数据来统计一些统计信息。
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')
我在数据框中有类似的内容,我试图弄清楚如何添加新的列,其中新列的时间只能是中位数,并且“时间”是确定的。我不知道如何破解。有任何建议吗?
先谢谢了。
答案 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)