我有以下数据框,我想动态地迭代所有行,以查找字节并将其转换为浮点数
示例
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'])
...
...
有什么想法或建议吗?
您可以遍历mydf.columns
for index, row in mydf.iterrows():
for col in mydf.columns:
bytes2float(row[col])
如果要在每行的每一列上运行方法bytes2float
,则可以使用applymap
示例:
import pandas
import numpy as np
df = pd.DataFrame(np.arange(6).reshape(2,3))
print (df.applymap(lambda x: f"*{x}*"))
输出:
0 1 2
0 *0* *1* *2*
1 *3* *4* *5*