如何解决在列表推导式中将行附加到 Pandas 数据帧,而不会丢失先前的附加
如何在列表理解中填充 Pandas 数据框?
我有多个相互调用的函数,在列表理解中,我想将行附加到 Pandas 数据框中,但是,行没有保存。如何解决这个问题?
import pandas as pd
import numpy as np
main_df = pd.DataFrame(columns=['a','b','c','d'])
main_df=main_df.append({'a':'a1','b':'b1','c':'c1','d':'d1'},ignore_index=True)
main_df=main_df.append({'a':'a2','b':'b2','c':'c2','d':'d2'},ignore_index=True)
main_df=main_df.append({'a':'a3','b':'b3','c':'c3','d':'d3'},ignore_index=True)
main_df=main_df.append({'a':'a4','b':'b4','c':'c4','d':'d4'},ignore_index=True)
print(main_df)
def func1():
sub_df = pd.DataFrame()
return func2(sub_df)
def func2(sub_df):
return func3(sub_df)
def func3(sub_df):
df_columns = main_df.columns.values
[search_using_list_comprehension(row,sub_df,df_columns) for row in main_df.values]
return sub_df
def search_using_list_comprehension(row,df_columns):
if row[0]=='a1' or row[0]=='a2':
my_dict= {a:b for a,b in zip(df_columns,row)}
sub_df = sub_df.append(my_dict,ignore_index=True)
print('sub_df.shape: ',sub_df.shape)
df=func1()
print('####################')
print(df)
print(df.shape)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。