Python Panda Error TypeError:/:';str';和';int';
我正在努力学习如何在Python中使用Pandas。我在对我的熊猫数据框进行数学运算时遇到了问题。 现在,我的数据帧看起来像这样: 打印(标记) 现在让我们假设我想把第0行除以1000Python Panda Error TypeError:/:';str';和';int';,python,pandas,Python,Pandas,我正在努力学习如何在Python中使用Pandas。我在对我的熊猫数据框进行数学运算时遇到了问题。 现在,我的数据帧看起来像这样: 打印(标记) 现在让我们假设我想把第0行除以1000 mark_time = mark[0] / 1000 这会产生错误 TypeError: unsupported operand type(s) for /: 'str' and 'int' 我猜是因为我当前的数据帧不被认为是INT,所以我继续这样做: mark_time = float (mark[0]
mark_time = mark[0] / 1000
这会产生错误
TypeError: unsupported operand type(s) for /: 'str' and 'int'
我猜是因为我当前的数据帧不被认为是INT,所以我继续这样做:
mark_time = float (mark[0] / 1000)
然而,这也给了我同样的错误。谁能给我解释一下原因吗
我的第二个问题是关于策划的问题。我已经很好地学习了matplotlib,我想在我的Panda数据帧上使用它。目前我的做法是:
fig1 = plt.figure(figsize= (10,10))
ax = fig1.add_subplot(311)
ax.plot(mike_time, mike[0], label='mike speed', color = 'red')
plt.legend(loc='best',prop={'size':10})
我可以用我的数据帧替换mike_time和mike[0]吗?您需要使用pandas.read_csv而不是python的csv 在这里,您可以使用dtype参数为其提供要使用的正确数据类型: 来自熊猫 数据类型:列的类型名称或目录->类型,默认无数据类型 用于数据或列。例如{'a':np.float64,'b':np.int32} (engine='python'不支持)。使用str或object来保存和 不解释数据类型 如果必须在导入时使用“from_records”解析CSV,则可以使用强制\u float=True 强制浮点数:布尔值,默认为False,尝试将值转换为 非字符串、非数字对象(如decimal.decimal)到浮点 点,对SQL结果集很有用
您需要使用pandas read_csv,它将自动为每个列指定最合适的类型。如果您有任何混合类型列,它将警告您。然后,您可以显式设置类型再次运行它。强制转换类型
mark[0]=mark[0]。astype(int)
float(mark[0])/1000
而不是float(mark[0]/1000)
@MMFI收到此错误类型错误:无法将序列转换为@EdChum,但是,我必须为每一列都这样做吗?例如,当我生成数据帧时,有没有一种更简单的方法来实现这一点?您首先是如何制作df的?df.info()显示了什么?我已经尝试过了,但是我一直得到一个错误:TypeError:“dtype”是这个函数的无效关键字参数。我这样做的方式是:csv.reader(fp,skipinitialspace=True,dtype=float)这个答案是错误的,pd.read\u csv
将尝试通过嗅探来推断数据类型,OP使用了与csv完全不同的csv
模块。我尝试过这一点,但我一直收到一个错误:TypeError:“dtype”是此函数的无效关键字参数。我的方法是:csv.reader(fp,skipinitialspace=True,dtype=float)您使用的是csv.reader,这是一个python函数。您需要使用pandas.read\u csv,而不需要该函数。只需df=pd.read\u csv(“data.csv”)
fig1 = plt.figure(figsize= (10,10))
ax = fig1.add_subplot(311)
ax.plot(mike_time, mike[0], label='mike speed', color = 'red')
plt.legend(loc='best',prop={'size':10})