gpt4 book ai didi

python - Excel 文件和 DataFrame 没有数字数据可绘制错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:48 25 4
gpt4 key购买 nike

我正在尝试绘制从 xlsx 文件读入 Pandas 的数据。经过一些小的格式化和数据质量检查后,我尝试使用 matplotlib 进行绘图,但出现以下错误:

TypeError: Empty 'DataFrame': no numeric data to plot

这不是一个新问题,我已经关注了该网站上处理这个问题的许多页面。不幸的是,发布的建议对我不起作用。

我的数据集包括字符串(采样点的位置并仅限于第一列)、日期(我已使用 pd.to_datetime 将其转换为正确的格式)、许多 NaN条目(由于我们正在进行图形分析,无法转换为零),以及代表各种分析参数的列标题。

根据我在本网站上读到的一些建议,我尝试了以下代码

  1. df = df.astype(float)这给了我以下错误 ValueError: could not convert string to float: 'Site 1' (站点1为采样点)

  2. df = df.apply(pd.to_numeric, errors='ignore')这给了我以下内容:dtypes: float64(13), int64(1), object(65)因此似乎不起作用,因为大多数数据仍然作为对象。日期条目是 int64,我无法弄清楚为什么有些数据列是 float64 而有些仍保留为对象

  3. df = df.apply(pd.to_numeric, errors='coerce')它会删除整个 DataFrame,可能是因为此操作用 NaN 填充整个 DataFrame ?

我被困住了,希望得到任何见解。

编辑

我能够根据一些反馈解决我自己的问题。这是对我有用的:

df = "path"

header = [0] # keep column headings as first row of original data
skip = [1] # skip second row, which has units of measure
na_val = ['.','-.','-+0.01'] # Convert spurious decimal points that have
# no number associated with them to NaN
convert = {col: float for col in (4,...,80)} # Convert specific rows to
# float from original text
parse_col = ("A","C","E:CC") # apply to specific columns

df = pd.read_excel(df, header = header, skiprows = skip,
na_values = na_val, converters = convert, parse_columns = parse_col)

最佳答案

如果没有数据样本,很难回答,但如果您确定数字列是 100% 数字,这可能会起作用:

for c in df.columns:
try:
df[c] = df[c].astype(int)
except:
pass

关于python - Excel 文件和 DataFrame 没有数字数据可绘制错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48014725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com