df=pd.concat([index,text['word']],1)
Index word
0 0 I
1 1 am
2 2 so
3 3 good
4 4 and
5 5 smart
df_series=[]
for d in range(0,2):
df_series.append(df)
def pos(x):
position=[]
for u in x:
position.append(np.random.choice(u[0]))
return position
df1
0
0 5
1 2
0
0 1
1 0
final=[]
L=['NA','****']
for eachtable in df_series:
# print(eachtable)
eachtable.loc[pos(df1),'word'] = random.choice(L)
final.append(eachtable)
final
Index word
0 ****
1 NA
2 so
3 good
4 and
5 NA
Index word
0 ****
1 NA
2 so
3 good
4 and
5 NA
到现在为止我只是这样。位置仅在第一个表中更改,并且在所有迭代中重复相同的位置。我想为每个迭代更改位置。任何人都可以在我的代码中找到错误并为此提供帮助。
我想要这样的东西
print(final)
Index word
0 ****
1 NA
2 so
3 good
4 and
5 NA
Index word
0 I
1 am
2 ****
3 good
4 NA
5 smart
答案 0 :(得分:0)
参考我的另一篇文章。(.copy())
函数是需要进行的更改,以便在每次迭代中替换column ['word']中的新值集。
df_series=[]
for d in range(0,2):
df_series.append(df.copy())
以便此循环按我预期的方式工作
final=[]
L=['NA','****']
for eachtable in df_series:
eachtable.loc[pos(df1),'word'] = random.choice(L)
final.append(eachtable)