【发布时间】:2019-08-04 20:44:41
【问题描述】:
我有一个带有 2 列(UserId、RandNo)的 pandas 数据框。在这个 UserId 中有 10 行的值,如下所示
现在,我通过 for 循环填充 RandNo 列,如下所示。
import pandas as pd
import random
df=pd.read_csv('df_sto.csv', skipinitialspace=True)
rand=0
for index, row in df.iterrows():
try:
rand=random.randint(0,100)
df.at[index, 'RandNo'] = rand
except Exception as e:
print(e)
df.to_csv("df_sto1.csv", sep=',')
这里,我只获取 df_sto1.csv 文件中的更新值,df_sto.csv 中的更新值不受影响。
如果数据框行很大并且在 df.iterrows() 中更新了 95% 的行后 for 循环遇到任何问题:for 'df_sto.csv' 然后我想重复该过程本身形成0%(来自第0行本身)。为了避免这个问题,我想更新 'df_sto.csv' 的数据框每个 for 循环迭代本身,而不是通过 df.to_csv("df_sto1.csv" , sep=',')
指导我在每次迭代本身中使用 for 循环更新数据框单元格值。提前致谢。
【问题讨论】:
-
谁能建议我解决这种情况。谢谢
-
您是否有任何理由不想立即更新/填充
RandNo列?
标签: python python-3.x pandas dataframe