从pandas文档中,我Series.axes
将返回一个列表,的确是一个列表
$ python3 process_data.py
<class 'list'>
但是,当我尝试打印列表的字符串表示形式时,我得到了
直接运行打印
print(row.axes)
$ python3 process_data.py
Index(['rank', 'name','high', 'low', 'analysis'],
dtype='object')
看起来根本不像是普通列表。
>>> [1,2,3,4,5]
[1, 2, 3, 4, 5]
我仍然可以通过执行来访问奇怪列表中的信息,list_name[0][index]
就像二维列表一样。我的意思是,如果它的内部类型是列表,它怎么会有这种行为。如果它是一个像对象的numpy数组,为什么内部类型仍然是列表。
编辑:
def process_nextfile(date, catagory):
df1 = pd.read_csv('{}all_csv/{}/catagory{}'.format(BASE_DIR, date, catagory), header = None, names = CATAGORY_HEADER[catagory-1])
for index, row in df1.iterrows():
print(row.axes.__name__)
break
if __name__ == '__main__':
process_nextfile('2016-04-05', 2)
当使用时iterrows()
,每一行都是熊猫系列,该axes
属性返回标签/或索引的列表。因此,列表中包含的是索引对象,请查看以下简单示例:
s = pd.Series([1,2,3])
s.axes
# [RangeIndex(start=0, stop=3, step=1)]
要获取普通列表,可以访问索引对象,然后将其转换为列表:
s.axes[0].tolist()
# [0, 1, 2]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句