我正在尝试将数据框子集附加到单独的数据框。
到目前为止,我尝试将其追加到一个空的数据帧,但是它返回一个空的数据帧。
search_ID = ['36962G3P7', 'B3V3W13', 'XS1903485800', 'EXLS']
Search_Results = pd.DataFrame()
for i in search_ID:
current_table = df.loc[df.isin([i]).any(axis=1)]
Search_Results.append(current_table)
#Returns an empty dataframe
当我打印每次迭代时,它表明它正在为每个列表项创建新的数据框。
Search_ID = ['36962G3P7', 'B3V3W13', 'XS1903485800', 'EXLS']
Search_Results = pd.DataFrame()
for i in Search_ID:
current_table = df.loc[df.isin([i]).any(axis=1)]
print(current_table)
#Returns 4 printed dataframes
当我在循环外追加时,表确实会追加到空数据框。
current_table = df.loc[df.isin(['36962G3P7']).any(axis=1)]
Search_Results.append(current_table)
#Returns a filled dataframe
答案 0 :(得分:0)
append函数未就位,因此您需要在每次迭代时重新分配。
Search_Results = Search_Results.append(current_table)
根据附加的次数,它可能会很慢,因此您可以考虑:
Search_ID = ['36962G3P7', 'B3V3W13', 'XS1903485800', 'EXLS']
Search_Results = pd.concat([
df.loc[df.isin([i]).any(axis=1)]
for i in Search_ID
], axis=0)