禾赛的自动驾驶数据集pandaset里面的点云文件是pkl格式的,而我只会处理pcd文件(bin文件也行,它可以转成pcd文件),所以想问一下如何把pkl文件转成bin文件或pcd文件,或者帮我转一下也行。
稍等,尝试下
尝试直接读取了下你给的样本文件
with open('79.pkl', 'rb') as f:
data = pickle.load(f)
print(data)
print(type(data))
输出结果:
输出结果是:
数据类型是 pandas.core.frame.DataFrame
x y z i t d
index
0 90.074439 -39.899445 -0.036561 6.0 1.557593e+09 0
1 98.136476 -43.392212 0.000721 3.0 1.557593e+09 0
2 102.889336 -45.450819 0.001288 2.0 1.557593e+09 0
3 106.250386 -46.906842 0.012305 2.0 1.557593e+09 0
4 90.232848 -39.828173 -0.026708 7.0 1.557593e+09 0
... ... ... ... ... ... ..
173093 144.863926 -75.066246 4.458271 26.0 1.557593e+09 1
173094 149.217909 -57.052194 4.796220 19.0 1.557593e+09 1
173095 144.878948 -75.002403 4.450911 28.0 1.557593e+09 1
173096 146.963137 -56.834515 4.534295 20.0 1.557593e+09 1
173097 144.952356 -75.006766 4.452175 36.0 1.557593e+09 1
[173098 rows x 6 columns]
<class 'pandas.core.frame.DataFrame'>
后边尝试序列化直接输出为 output.bin文件
pickle.dump(data, open(output_file, "wb"))
输出文件如下:
链接: https://pan.baidu.com/s/1VyeVAiUvfj9n19GbXPrNvg 密码: 9aj7
注:
但感觉不太对,不确定是不是你要的文件格式,
不知道你这边pandas的df数据能直接使用吗
如果不能的话,我这边可能沿着df转为csv再转pcd的方式试下了
输出的csv文件:
链接: https://pan.baidu.com/s/1-38HPp5qUJYL3eFf552J0g 密码: 764m
如有问题及时沟通
禾赛数据集中点云pkl文件示例:
链接:https://pan.baidu.com/s/1nHKU5EqZ77ORjGcfmetSRQ
提取码:wmcg
现有数据集,里面是.pkl文件。转换为.txt文件不易读。
现在将其转变为易读的csv文件
代码如下:
import pickle as pkl
import pandas as pd
with open(r'PATH', "rb") as f:
object = pkl.load(f,encoding='latin1')
df = pd.DataFrame(object)
df.to_csv(r'newPATH.pkl')
查看csv文件每一行的大小,即每个对话里话语数量
import pandas as pd
df = pd.read_csv('newcsv.pkl')
# 下面是console里面查看句子长度
len(df.iloc[7]) # 查看第8个对话里话语的数量
如有帮助,请采纳,十分感谢!