尝试运行同一函数时str.split()出现问题-列未被“擦除”

krugob8w  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(184)

我有一个简单的函数,工作正常,但当我试图再次运行它时,我得到一个错误。这可能是由str.split()引起的,我在dataframe的一列中使用了str.split()(然后是dataframe.explode)。当我再次尝试运行相同的代码时,dataframe被正确加载,但是这个特定的列没有正确加载-它的值是previous run。这是我的代码的简化示例:

file_1 = pd.read_excel(example.xls)

def Validation_text():

    text = pd.DataFrame(file_1)
    text['Action_Type'] = text['Action_Type'].str.split(',')
    text = text.explode('Action_Type')
    print (text)
    ...

作为原始文件中的action类型,可以有一个或多个action,我正在为每个action创建新行。例子:

Action Type in file:

New
Move
Move,Text
Delete
Move,Text,Update

当我第一次运行代码时,打印的输出是正确的,并且我可以看到“action type”列被正确拆分:

[New]
[Move]
[Move, Text]
[Delete]
[Move, Text, Update]

但是,当我再次这样做时,“action\u type”列是空的-只包含nan值,因此程序崩溃(因为在这之后程序中还有其他步骤)。其他一切正常,所有其他数据再次“加载”到Dataframe中。我猜那些拆分动作类型的值存储在内存中的某个地方,而不是每次都加载到Dataframe中。我试图用del删除整个Dataframe,甚至用text=''来清除它,但是没有任何效果。
有人能帮忙吗?谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题