how to create 100 dataframe names by python for loop

Viewed 341

Hello guys i just wanna create 100 dataframes.

just like a df1, df2, df3 .. df100.

How to do that by python for loop?

for i in range(100):
    some_value = df3.loc[df3.index[i], "sentence"]
    df"1" = df.loc[df['Text'] == some_value]

results = [df1, df2, ... df100]
final = pd.concat(results).drop_duplicates().reset_index(drop=True)
1 Answers

OPTION 1

Just fill results without using variable names:

results = []
for i in range(100):
    some_value = df3.loc[df3.index[i], "sentence"]
    results.append(df.loc[df['Text'] == some_value])

final = pd.concat(results).drop_duplicates().reset_index(drop=True)

OPTION 2

Generate variable names from strings by using exec (I would not suggest doing it this way):

for i in range(100):
    some_value = df3.loc[df3.index[i], "sentence"]
    temp_df = df.loc[df['Text'] == some_value]
    exec("df{} = temp_df".format(i))

results = [df1, df2, ... df100]
final = pd.concat(results).drop_duplicates().reset_index(drop=True)

(The code may contain errors since I didn't compile it)

Related