Python 对于循环和熊猫-从列表或变量设置属性

Python 对于循环和熊猫-从列表或变量设置属性,python,pandas,for-loop,Python,Pandas,For Loop,我有一个有很多列的熊猫数据框。在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',所以我显然

我有一个有很多列的熊猫数据框。在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

您可以这样传递列:

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

编辑:注意,由于
ix
是,因此将其替换为
iloc

什么是
df
df2
提供该数据帧的示例?预期输出是什么?除此之外,您的dfs没有标题?下次发布前请阅读此内容;什么是
df
df2
提供了该数据帧的样本?预期输出是什么?除此之外,您的dfs没有标题?下次发布前请阅读此内容;工作得很有魅力。谢谢你..ix已被弃用,请使用.loc。它像一个符咒一样工作。谢谢..ix已弃用,请在此处使用.loc