我在dataframe中有一列,其中包括以下字符串之类的行:
参数1:104参数2:98%参数3:48%参数4:1005公里参数5:1
如何拆分它并从中创建新列
到目前为止,我这样做,但它不是那么有效
#split and create new fields
merged_df[['parameter1:n', 'parameter1:', 'parameter1:n', 'parameter2:(%)', 'ddd%', 'parameter3:n', 'parameter3(%)', 'dd%', 'parameter4:n', 'parameter4(km):', 'ffkm', 'parameter5:n', 'parameter5']] = merged_df['vals'].str.split(' ',expand=True)
#drop useful field
merged_df = merged_df.drop(['parameter1:n', 'parameter1:n', 'ddd%', 'parameter3:n', 'dd%','parameter4:n','ffkm','parameter5:n'], axis=1)
结果就像下面的表格
+------------+---------------+---------------+----------------+------------+
| parameter1 | parameter2(%) | parameter3(%) | parameter4(km) | parameter5 |
+------------+---------------+---------------+----------------+------------+
| 104| 98 | 48 | 1005 | 1 |
| 34 | 9 | 87 | 44 | 33432 |
| 4 | 343 | 6 | 69 | 31 |
+------------+---------------+---------------+----------------+------------+
先谢谢你
请尝试以下代码:
注意:假设“VAL”列中有字符串数据类型的所有值
我用来生成输入数据帧的代码如下:
在这种情况下,您可以直接使用
extractall
。如果还可以使用浮点值,则可以将regex更改为r'\b(\d+(?:\.\d+)?)'
输入_df
输出功率
相关问题 更多 >
编程相关推荐