我觉得自己是个白痴,但是我有一个主列表和2个列表,其中包含主列表中的条目。我要创建第三个列表,其中包含主列表中的其余条目。但是由于某种原因,我的for循环只是输出列表中的每个条目,而忽略了if语句。知道为什么吗?这是我第一次为if语句使用1衬里,但是我尝试使用常规语法来执行此操作,但仍然无法正常工作。
代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import preprocessing, linear_model, svm
from sklearn.metrics import r2_score
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
raw_df = pd.read_csv('parkinsons_updrs.data.txt', index_col=False)
#Check for missing data
#print(pd.isnull(raw_df).sum())
#Grouping the patients by subject #
ID = set(raw_df['subject#'])
df_mean = pd.DataFrame()
group = raw_df.groupby('subject#')
for patient, medical_data in group:
#print(patient)
#print(medical_data)
df_mean = df_mean.append(medical_data.agg(np.mean), ignore_index=True)
jitter_col = [col for col in df_mean.columns.values if 'Jitter' in col]
shimmer_col = [col for col in df_mean.columns.values if 'Shimmer' in col]
remainder_col = [col for col in df_mean.columns.values if col not in jitter_col or col not in shimmer_col]
答案 0 :(得分:0)
您应该将最后一行更改为:
remainder_col = [col for col in df_mean.columns.values if col not in jitter_col and col not in shimmer_col]
通过这种方式,理解将过滤col
并仅返回不在jitter_col
和shimmer_col
中的情况。