首页 > 解决方案 > 将 pandas 中的数据框转换为数组

问题描述

我正在尝试将 excel 工作表转换为 csv 文件,然后将其转换为 numpy 数组。但是,当我使用Data = df.to_numpy()它时,它将第一列导出为字符串变量,而不是浮点数,而其他值则被完美转换。我不知道问题出在哪里。这是 Data[0] 的输出示例:

>>Data[0]
array(['0.01', 0.0, 0.01, 0.0, 0.01, 0.0, 0.01, 0.0, 0.01, 0.0, 0.01, 0.0,
       0.01, 0.0, 0.01, 0.0, 0.01, 0.0, 0.01, 0.0], dtype=object)

这是我的 excel 表中数据表的标题: 在此处输入图像描述

这是我的代码:

filename = "C:/Users/IMET/Desktop/One/MCC-200.xlsx"
Col_Names=[
            "Size (um)-3 bar","Volume (%)-PreRC", 
            "Size (um)-0.5 bar","Volume (%)-PreRC",
            "Size (um)-3 bar","Volume (%)-457um-3500rpm",
            "Size (um)-0.5 bar","Volume (%)-457um-3500rpm",
            "Size (um)-3 bar","Volume (%)-610um-3500rpm",
            "Size (um)-0.5 bar","Volume (%)-610um-3500rpm",
            "Size (um)-3 bar","Volume (%)-813um-3500rpm",
            "Size (um)-0.5 bar","Volume (%)-813um-3500rpm",
            "Size (um)-3 bar","Volume (%)-991um-3500rpm",
            "Size (um)-0.5 bar","Volume (%)-991um-3500rpm"
           ]


df = pd.read_excel(filename,'PSDs').to_csv('MyCSV.csv',index=False)

df2 = pd.read_csv('MyCSV.csv',skiprows = 4)

df2.dropna(axis=1,inplace=True,how='all')
df2.dropna(axis=0,inplace=True,how='any')

df2.columns=Col_Names

Data = df2.to_numpy()

标签: python-3.xpandasdataframe

解决方案


推荐阅读