我有以下数据帧,我想动态迭代所有行,找到字节并将其转换为浮动
示例
col1 col2 col3
None None b'Rxb8x1e%xdax16QA'
b'Rxb8x1e%xdax16QA' b'Rxb8x1e%xdax16QA' None
None None None
b'Rxb8x1e%xdax16QA' None None
b'Rxb8x1e%xdax16QA' None b'Rxb8x1e%xdax16QA'
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*