我正在尝试在pandas中使用excel数据并且必须将float64数据转换为整数类型,但我不断收到语法错误。请注意,我是编程语言的完全新手,所以我会尽可能多地获得帮助 - 我花了一周的时间才弄清楚如何在大熊猫中打开我的excel文件,现在我遇到了问题我可以在matplotlib中使用的格式。我使用的代码如下,所以我希望有人能帮忙......
from pandas import ExcelFile
import pandas as pd
# Create ExcelFile object
xlsx = ExcelFile('filename.xlsx')
xlsx.parse(sheetname, parse_cols=6, index_col=None, na_values= ['NA']
# Convert float data types to integer
Spectral Type = Spectral Type.astype('int')
当我跑步时,我得到:
Spectral Type = Spectral Type.astype('int')
^
SyntaxError: invalid syntax
我做错了什么?
有没有更好的方法来访问和使用我的Excel数据,以便我可以在matplotlib中创建图形?
回复我的评论以回应unutbu,我的数据形式如下:
Type Value1 time1 Value2 time2 Value3 time3
M0 8.87 41.11 8.41 41.11 8.16 65.78;
继续从M1到M6的值:
M6 13.95 4392.03 14.41 10395.13 14.66 25988.32
运行脚本:
`from pandas import ExcelFile`
`import pandas as pd`
`# Create ExcelFile object`
`xlsx = ExcelFile('filename.xlsx')`
`xlsx.parse(sheetname', parse_cols=6, index_col=None, na_values= ['NA'])`
`df`
(添加了解析操作中指定的列名)
返回以下输出:
<class 'pandas.core.frame.DataFrame'>
Int64Index:11个条目,0到10
数据列:
光谱类型10非空值
极限幅度(1.3“)10非空值
曝光时间@ 1.3“,秒10非空值
限制幅度(2.0”)10个非空值
曝光时间@ 2.0“,秒10非空值
限制幅度(2.5“)10个非空值
曝光时间@ 2.5”,秒10个非空值
dtypes:float64(6),object(1 )`
所以,我现在要问的问题是:
如果数据是十进制数,是否有必要更改限制幅度和曝光时间列的数据类型?
我需要按原样保留光谱类型列;我该怎么做?
如何才能将数据放入正确的表格格式中,以便我可以绘制图表?
答案 0 :(得分:-1)
如果Spectral Type
是xlsx
中的列名,请尝试:
import pandas as pd
# Create ExcelFile object
xlsx = pd.ExcelFile('filename.xlsx')
df = xlsx.parse('sheetname', parse_cols=6, index_col=None, na_values= ['NA'])
Spectral Type
列,
df['Spectral Type']
属于object
类型,其中包含M0
等值。这些可能是字符串。无论如何,dtype都无法转换为int
。这就是为什么
df['Spectral Type'] = df['Spectral Type'].astype('int')
引发了错误。相反,您希望将dtype float
列转换为int
,然后
df['Limiting magnitude (1.3")'] = df['Limiting magnitude (1.3")'].astype('int')
会起作用 - 假设我的列名称正确。
是否有必要更改限制幅度的数据类型 曝光时间列,假设数据是十进制数?
在您发布的输出结束时,pandas报告
dtypes: float64(6), object(1)
这表示DataFrame中的七列中有6列是dtype float64
,另一列是dtype object
。我猜的是限制量级和曝光时间为dtype float64
的列的名称,而频谱类型为dtype object
。
如果这个猜测是正确的,如果你想将它们作为float64
s进行操作,则不需要更改限制量值和曝光时间的类型。
我需要按原样保留光谱类型列;我该怎么做?
我不明白这个问题。请详细说明?
如何才能将数据放入正确的表格格式, 所以我可以用它来图表吗?
您的数据可以以表格形式打印,如下所示:
pd.set_option('display.max_columns', 7)
print(df)
要制作情节,您可以使用matplotlib。熊猫还有一些functions for plotting。