【发布时间】:2021-07-23 08:38:43
【问题描述】:
我有一个名为 t1 的数据框。我需要从t1 获取 2008 年的数据,所以我尝试了这个:
t08= t1[t1['time'].str.startswith('2008')]
t08.reset_index(drop=True, inplace=True)
t08 = t08[['time','temperature']]
之后我需要t08 成为数据框。根据警告,目前情况并非如此。对我有用的一种非常不雅的方式是:
t08.to_csv(r'C:\...\generic\zw4.csv')
t2_08 = pd.read_csv(r'C:\...\generic\zw4.csv')
所以现在 pandas 将 t2_08 识别为数据框。但有什么更优雅的方式来做到这一点?
谢谢
【问题讨论】:
-
如果你能分享你的 t1 数据框的样本,基本上是可用的列等来帮助,这将是有帮助的
-
我假设一个简单的
pd.DataFrame(t08)不起作用? -
1.是的,当然......你会发现这里的 t1 叫做 'ninjatemp.csv' github.com/JulianLeGrid/Bach 2. pd.DataFrame(t08) 不起作用
-
如果不是数据框,你检查过它是什么类型的对象吗?在去掉“时间”和“温度”这两列之前,它是一个数据框吗?您是否尝试过不使用 inplace=True,而只是将新数据帧分配给 t08?
-
我完全按照您的第一个代码执行并使用了您链接到的数据框。我没有错误,结果是一个数据框。