如何更新熊猫数据框

时间:2019-07-24 15:34:58

标签: python-3.x pandas

我在Python 3.6中使用熊猫。 该脚本读取一个包含两行注释的Excel文件,然后读取一行包含单元格“ 11:11”的数据,该行必须在结果文件中分为两列

输入:

ID_TEST         TEST_1
2- Comment_ 1   
3- Comment_2    Naf_TEST_1
Data_1          11:11

输出(错误):

ID_TEST         TEST_1     
2- Comment_ 1               11
3- Comment_2    Naf_TEST_1  11
Data_1          11:11           11

正确的输出(所需):

ID_TEST         TEST_1     
2- Comment_ 1       
3- Comment_2    Naf_TEST_1  
Data_1          11         11




    df_dos = pd.read_excel(file_test,sheetname="Dossiers")
    a_dos = str (df_dos.iloc[2][list2_cols[col]])
    b=a_dos.split(sep=":")
    blg = int(len(b)-1)
    i=0

    for i in range (0, blg) :

        for index, row in df_dos.iterrows():

            df_opale_dos.at[index, "   "] = b[i]

            continue

我无法更新数据框,拆分操作必须仅在目标文件的第三行执行 我浏览了有关熊猫文档的Stack Overflow和Net,但是没有找到解决方案。 预先感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

Splitting string columnsDim FolderDirectory As String FolderDirectory = "C:\Temp\Address, Postcode" Call Shell("explorer.exe " & """" & FolderDirectory & """", vbNormalFocus) 创建新的列,然后根据需要将其重命名:

expand=True

结果:

df[['ID_TEST']].join(df.TEST_1.str.split(':',expand=True)).rename(columns={0: 'TEST_1a', 1: 'TEST_1b'})

更新基于以下评论:
如果您有一个变量 ID_TEST TEST_1a TEST_1b 0 2- Comment_ 1 None None 1 3- Comment_2 Naf_TEST_1 None 2 Data_1 11 11 ,其中包含要拆分的列名(可以在循环中更改),请使用此变量代替列名:

col