我有一个由两列组成的数据帧,分别是'Time'和'Value'
>>> df
Empty DataFrame
Columns: [Time, Value]
Index: []
>>> df.Time = pd.to_timedelta(df.Time)
>>> df.Value = df.Value.astype(float)
>>> df.Value
Series([], Name: Value, dtype: float64)
>>> df.Time
Series([], Name: Time, dtype: timedelta64[ns])
我想做的是将我实时接收到的字符串数据放入dataframe,放入dataframe,而不改变列的类型。但是,每当我将数据放入dataframe时,它们的类型就变为object。你知道吗
>>> data0 = '08:29:01.37543, 90.58'
>>> data0
'08:29:01.37543, 90.58'
>>> df.loc[0] = data0.split(',')
>>> df
Time Value
0 08:29:01.37543 90.58
>>> df.Time
0 08:29:01.37543
Name: Time, dtype: object <--- Its type has been changed!
>>> df.Value
0 90.58
Name: Value, dtype: object <--- Its type has been changed!
即使添加了新行,我如何保持它们的类型?你知道吗
在
>>> df.loc[0] = data0.split(',')
这个步骤之后您必须通过
更改类型
>>>df.Time = pd.to_timedelta(df.Time)
和df.Value = df.Value.astype(float)
因为不能将字符串作为浮点类型插入,所以更好的方法是按字符串插入数据,然后使用
astype()
更改类型我希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐