Python 对于循环和熊猫-从列表或变量设置属性
我有一个有很多列的熊猫数据框。在FOR循环中,我每次都选择这些字段的不同子集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',所以我显然
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