如何将['1','2','3','4']转为[1,2,3,4]?DataFrame绘图遇转换问题
字符串转整数及CSV数据类型转换方案
字符串列表转整数列表
两种简单实现方式:
- 列表推导式:
str_list = ['1', '2', '3', '4'] int_list = [int(s) for s in str_list]
map函数:
str_list = ['1', '2', '3', '4'] int_list = list(map(int, str_list))
针对你提供的CSV DataFrame的类型转换问题
从给出的DataFrame来看,核心问题有两个:数值用逗号做小数点分隔符,且DataFrame结构混杂了参数行和数据行。解决方法如下:
1. 处理逗号分隔的数值
所有带逗号的字符串需先替换为点,再转为数值类型(这里是浮点数,按需转整数):
import pandas as pd # 处理nbColonnes列 df['nbColonnes'] = df['nbColonnes'].apply( lambda x: float(str(x).replace(',', '.')) if pd.notna(x) else x )
2. 整理混杂的DataFrame结构
你的数据第一行(索引0)是参数配置,后续行是实际数据,可拆分处理:
# 提取参数 params = df.iloc[0].dropna().to_dict() # 提取有效数据并清理列 data_df = df.iloc[1:].drop(columns=['nbPoints', 'start', 'pas', 'Unnamed: 4']) data_df = data_df.rename(columns={'nbColonnes': 'measurement'}) # 转换数据类型 data_df['measurement'] = data_df['measurement'].apply(lambda x: float(str(x).replace(',', '.')))
3. 验证类型
转换后用dtypes确认列类型,确保是数值类型再绘图:
print(data_df.dtypes)
内容的提问来源于stack exchange,提问作者Famascito
相关产品推荐
相关产品推荐

