在pandas数据帧中复制行

2024-04-27 00:19:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

N  numbers
n1 1,2,3
n2 4,6,2
n4 2,5
....


frequency=[0.45,   0.5,  0.05]
Activ =   [  1,      2,     3]

df = shuffle(df)[:20] 

Activs=np.random.choice(Activ , len(df), p=frequency)
df['index']=pd.Series(Activs.tolist())

df_new = df.loc[np.repeat(df.index.values,df.index)]

我想要一个数据帧类型:

^{pr2}$

我得到一个错误-在我的框架中一个日期值列索引数字和NaN


Tags: 数据dfindexlennprandomfrequencyshuffle
1条回答
网友
1楼 · 发布于 2024-04-27 00:19:19

我认为列index是不必要的,因为^{}可以使用arrayActivs

df = pd.DataFrame({'numbers': ['1,2,3', '4,6,2', '2,5'], 'N': ['n1', 'n2', 'n4']})
print (df)
    N numbers
0  n1   1,2,3
1  n2   4,6,2
2  n4     2,5

frequency=[0.45,   0.5,  0.05]
Activ =   [  1,      2,     3]

df = df[:20] 

#for testing
np.random.seed(100)
Activs=np.random.choice(Activ , len(df.index), p=frequency)
print (Activs)
[2 1 1]

df_new = df.loc[np.repeat(df.index,Activs)]
print (df_new)
    N numbers
0  n1   1,2,3
0  n1   1,2,3
1  n2   4,6,2
2  n4     2,5

但是如果需要来自Activs的新列,最好不要使用名称index,如果不是真的必要的话-例如,name是val

^{pr2}$

相关问题 更多 >