我串联了三个数据框。如何在RangeIndex中打印df.index,而不是Int64Index?
我的输入:
df = pd.concat([df1, df2, df3])
print(df.index)
我的输出:
Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8,
9,
...
73809, 73810, 73811, 73812, 73813, 73814, 73815, 73816, 73817,
73818],
dtype='int64', length=495673)
所需的输出:
RangeIndex(start=X, stop=X, step=X)
答案 0 :(得分:2)
您可以使用reset_index
获取所需的索引。例如:
df = pd.concat([df1,df2,df3])
df.index
Int64Index([0, 1, 2, 0, 1, 2, 0, 1, 2], dtype='int64')
重置索引后:
df.reset_index(inplace=True)
df.index
RangeIndex(start=0, stop=9, step=1)
另外,最好在axis
函数中使用concat
关键字。
答案 1 :(得分:1)
您可以使用内置的ignore_index
选项:
df = pd.concat([df1, df2, df3],ignore_index=True)
print(df.index)
来自文档:
ignore_index:布尔值,默认为False 如果为True,则不要沿串联轴使用索引值。结果轴将标记为0,…,n-1。如果要串联对象时,串联轴没有有意义的索引信息,这将很有用。请注意,联接中仍会考虑其他轴上的索引值。