首页 > 解决方案 > 如何将While循环中的数据附加到Empty DataFrame中

问题描述

我有 5 列的数据框。

Df = pd.DataFrame(columns=['userId','movieId','rating','timestamp','genres'])

我有这个功能

def Main():

    flag = 0
    while(flag <=99):
        data1 = pickRandomMovies()
        data2 = usersToMovies(data1)
        if len(data2) < 6:
            data2 = data1
        else:
            flag +=1
            data3 = commonUsers(data2)
            #append all values of data3 here to new dataframe
            df_new.append(data3)

            findingRatings(data3)
>>data3
userId  movieId  rating   timestamp                      genres
 27       60      3.0     962685387         Adventure|Children|Fantasy
 103      60      4.0     1431968436        Adventure|Children|Fantasy
 160      60      2.0     971619579         Adventure|Children|Fantasy
 27      1210     4.0     962684909         Action|Adventure|Sci-Fi
 103     1210     3.5     1431957028        Action|Adventure|Sci-Fi
 160     1210     5.0     971113953         Action|Adventure|Sci-Fi

我想在每次迭代中将 data3 的所有值附加到新的数据框中。

标签: pythonpandas

解决方案


将您的代码更改为

def Main():

    flag = 0
    while(flag <=99):
        data1 = pickRandomMovies()
        data2 = usersToMovies(data1)
        if len(data2) < 6:
            data2 = data1
        else:
            flag +=1
            data3 = commonUsers(data2)
            #append all values of data3 here to new dataframe
            df_new=df_new.append(data3)

            findingRatings(data3)

df_new.append(data3)只附加它没有分配它应该明确完成的值的值df_new=df_new.append(data3)


推荐阅读