如何获取数据框中列的位置编号
我有一个看起来简单的问题,关于pandas的数据框和列。假设我有一个数据框,里面有这些列:
Index(['_ArticleName', '_BasePrice', '_Category', '_CategoryName', '_DPEffectAdh', '_DPEffectFLAG_AFFAIRES_FNAC', '_DPEffectFin', '_DPEffectOff', '_DPEffectOpe', '_DPEffectSol', '_FittedQuantity', '_LatestBasePrice', '_Method', '_OptPrice', '_OptQuantity', '_OwnPriceElasticity', '_PriceLowerBound', '_PriceUpperBound', '_QualityIndicator', '_Quantity', '_Segment', '_SegmentName', '_StatusEstim', '_SuccessOptim', '_TaxRate', '_UnitCost', '_StatusOptim'], dtype='object')
我该如何找到某一列的位置,比如'_BasePrice'是第2列,'_CategoryName'是第4列,等等?谢谢!
1 个回答
3
使用 get_loc
:
In [46]:
df = pd.DataFrame({'B':randn(5), 'A':randn(5), 'F':randn(5), 'D':randn(5)})
df.columns
Out[46]:
Index(['A', 'B', 'D', 'F'], dtype='object')
In [47]:
df.columns.get_loc('D')
Out[47]:
2
In [48]:
df = pd.DataFrame(columns=['_ArticleName', '_BasePrice', '_Category', '_CategoryName', '_DPEffectAdh', '_DPEffectFLAG_AFFAIRES_FNAC', '_DPEffectFin', '_DPEffectOff', '_DPEffectOpe', '_DPEffectSol', '_FittedQuantity', '_LatestBasePrice', '_Method', '_OptPrice', '_OptQuantity', '_OwnPriceElasticity', '_PriceLowerBound', '_PriceUpperBound', '_QualityIndicator', '_Quantity', '_Segment', '_SegmentName', '_StatusEstim', '_SuccessOptim', '_TaxRate', '_UnitCost', '_StatusOptim'])
df.columns
Out[48]:
Index(['_ArticleName', '_BasePrice', '_Category', '_CategoryName', '_DPEffectAdh', '_DPEffectFLAG_AFFAIRES_FNAC', '_DPEffectFin', '_DPEffectOff', '_DPEffectOpe', '_DPEffectSol', '_FittedQuantity', '_LatestBasePrice', '_Method', '_OptPrice', '_OptQuantity', '_OwnPriceElasticity', '_PriceLowerBound', '_PriceUpperBound', '_QualityIndicator', '_Quantity', '_Segment', '_SegmentName', '_StatusEstim', '_SuccessOptim', '_TaxRate', '_UnitCost', '_StatusOptim'], dtype='object')
In [49]:
df.columns.get_loc('_BasePrice')
Out[49]:
1
In [50]:
df.columns.get_loc('_CategoryName')
Out[50]:
3
请注意,索引值是从零开始的。