循环访问数据帧列表并执行操作

2024-09-26 22:42:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧列表,我正在使用for循环对该列表执行操作。df1、df2、df3和df4是数据帧。在操作之后,我找不到对数据帧的修改。请帮助我理解我遗漏了什么,为什么这不起作用?在

为了将更改传递到源数据帧,我需要进行哪些修改。在

sheetnames = [df1, df2, df3, df4]
i=0
for sheet in sheetnames:    
    ixNaNList = sheet[sheet.isnull().all(axis=1) == True].index.tolist()
    if len(ixNaNList) > 0:
        ixNaN = ixNaNList[0]
        sheetnames[i]=sheet[:ixNaN]
    i=i+1

Tags: 数据in列表forallsheetdf1df2
2条回答

您的赋值sheetnames[i] = ...将列表sheetnames的第i个元素替换为sheet[:ixNaN]的值。在

因此,它对df1df2df3或{}的含量没有影响。在

试试这个:

sheetnames = [df1, df2, df3, df4]
def drop_after_na(df):
    return df[df.isnull().all(axis=1).astype(int).cumsum() <= 0]
sheetnames = map(drop_after_na, sheetnames)

试试这个:

^{pr2}$

相关问题 更多 >

    热门问题