如何迭代 DataFrame 中的动态行?

我有以下数据框,我想动态迭代所有行,以查找字节并将其转换为浮点型



col1                          col2                        col3

None                          None                        b'R\xb8\x1e%\xda\x16QA'

b'R\xb8\x1e%\xda\x16QA'       b'R\xb8\x1e%\xda\x16QA'     None

None                          None                        None

b'R\xb8\x1e%\xda\x16QA'       None                        None

b'R\xb8\x1e%\xda\x16QA'       None                        b'R\xb8\x1e%\xda\x16QA'

Mi 函数字节到浮点数


def bytes2float(byte):

    if byte:

        # do stuff


我想遍历所有行,因为DataFrame是动态的,目前我只能静态地执行此操作,因为我知道DataFrame有多少列。


类似的东西


for index, row in mydf.iterrows():

    # print(row['col1'], row['col2'])

    bytes2float(row['col1'])

    bytes2float(row['col2'])

    bytes2float(row['col3'])

    ... 

    ...

任何想法或建议?


米琪卡哇伊
浏览 83回答 1
1回答

慕莱坞森

您可以循环访问mydf.columnsfor index, row in mydf.iterrows():    for col in mydf.columns:        bytes2float(row[col])如果要在每行的每一列上运行该方法,则可以使用bytes2floatapplymap样本:import pandasimport numpy as npdf = pd.DataFrame(np.arange(6).reshape(2,3))print (df.applymap(lambda x: f"*{x}*"))输出:     0    1    20  *0*  *1*  *2*1  *3*  *4*  *5*
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python