对于循环和Pandas-设置列表或变量中的属性



我有一个Pandas数据帧,它有很多列。在FOR循环中,我每次都会选择这些字段的不同子集。

myList = ['column1', 'column2', 'column3']
for column in myList:
df2 = df[['Day', column]]
value = df2.column.min()
value2 = df2.ix[df2.column.idxmin()]

对于value,我得到的错误是:"Dataframe没有属性'column'",所以我显然有语法错误。提前谢谢。

编辑:请求的样本数据帧:

df = pd.DataFrame([
['Monday', 4936.00, 5036.00, 130.18, 140.18, 40.67, 41.67, 166.96, 
168.96, 145.87, 145.87],
['Tuesday', 5258.82, 5358.82, 141.99, 146.99, 41.00, 43.00, 169.70, 
172.70, 155.00, 165.00]])
df2 = pd.Dataframe([
['Monday', 4936.00],
['Tuesday', 5258.82]])

在循环的每次迭代中,df2中的数字向右移动一个位置。

您可以像这样传递列:

for c in myList:
df2 = df[['Day','{}'.format(c)]]
value = df2['{}'.format(c)].min()
value2 = df2.ix[df2['{}'.format(c)].idxmin()]    

编辑:请注意,由于ix已弃用,请将其替换为iloc

最新更新