Python 按范围扩展数据帧
需要将Python 按范围扩展数据帧,python,pandas,Python,Pandas,需要将dataframe的索引从0复制到列中的value。是否有一种(矢量化)方法可以将此df1扩展到df2?多谢各位 import pandas as pd df1 = pd.DataFrame(range(3), index=range(3000, 3003)) 0 3000 0 3001 1 3002 2 df2 = ??? 0 3000 0 3001 0 3001 1 3002 0 3002 1 3002 2 用于: 对于系列使用: 和数据帧
dataframe
的索引从0
复制到列中的value
。是否有一种(矢量化)方法可以将此df1
扩展到df2
?多谢各位
import pandas as pd
df1 = pd.DataFrame(range(3), index=range(3000, 3003))
0
3000 0
3001 1
3002 2
df2 = ???
0
3000 0
3001 0
3001 1
3002 0
3002 1
3002 2
用于:
对于系列
使用:
和数据帧
来自系列
添加:
df1 = df1.loc[df1.index.repeat(df1[0] + 1)]
df1[0] = df1.groupby(0).cumcount()
print (df1)
0
3000 0
3001 0
3001 1
3002 0
3002 1
3002 2
s = df1.index.repeat(df1[0] + 1).to_series()
s = s.groupby(s).cumcount()
print (s)
3000 0
3001 0
3001 1
3002 0
3002 1
3002 2
dtype: int64
df = s.groupby(s).cumcount().to_frame()
print (df)
0
3000 0
3001 0
3001 1
3002 0
3002 1
3002 2