我有一条来自潘达斯的蟒蛇DataFrame
waitEvent instance snapDate gc cr block 3-way gc current block 3-way log file sync每次构造这个DataFrame时,snapDate之后的列数和名称都是不同的。
我需要通过选择DataFrame作为索引列来构造一个新的snapDate,但是应该动态地选择其余的列来绘制任何想法。我怎样才能做到这一点?
对于上面的df,我应该始终选择snapDate列和snapDate列之后的所有列
snapDate列之后的列的数量和名称将有所不同。
我的目标是
df[snapDate,col1,col2,col3].plot()
df[snapDate,col7,col8].plot()
..我想从DataFrame中创建一个地块,方法是总是选择SnapDate列和其余的列,这取决于DataFrame可能是2、3或4等等。
发布于 2015-07-15 12:28:41
您可以使用get_loc获取感兴趣列的索引位置,然后使用它来索引您的df:
In [374]:
cols = ['waitEvent','instance','snapDate','gc cr block 3-way','gc current block 3-way','log file sync']
df = pd.DataFrame(columns = cols)
df
Out[374]:
Empty DataFrame
Columns: [waitEvent, instance, snapDate, gc cr block 3-way, gc current block 3-way, log file sync]
Index: []
In [378]:
snapDateIdx = df.columns.get_loc('snapDate')
snapDateIdx
Out[378]:
2
In [379]:
df.ix[:,snapDateIdx:]
Out[379]:
Empty DataFrame
Columns: [snapDate, gc cr block 3-way, gc current block 3-way, log file sync]
Index: []https://stackoverflow.com/questions/31428946
复制相似问题