Foursquare 中的NYC数据被处理成了这样,三列分别是user,location,time:array([[ 1, 698, 99366], [ 1, 3601, 5743], [ 1, 3387, 106770], ..., [ 1083, 1008, 32897], [ 1083, 358, 334237], [ 1083, 234, 22074]], dtype=int32)
时间: 2023-07-02 07:22:26 浏览: 199
这个数据包含了 Foursquare 中纽约市的签到记录,其中每行记录包含了三个字段:
- user:用户的 ID。
- location:签到位置的 ID。
- time:签到时间的序号,表示该签到发生在数据集中的第几个时间段(时间段的长度为 1 小时)。
可以看出,这个数据并没有直接给出签到时间的具体信息,而是使用了时间序号来表示。这种表示方法的好处是可以减小数据集的大小,但需要根据数据集中的时间戳信息进行解析。
要将时间序号转换为具体的时间信息,可以使用以下代码:
```
import pandas as pd
# 读取 Foursquare 数据集
data = pd.read_csv('foursquare_nyc_data.csv', header=None).values
# 将时间序号转换为 datetime 格式
start_time = pd.to_datetime('2012-04-03 00:00:00')
data[:, 2] = start_time + pd.to_timedelta(data[:, 2], unit='h')
# 将转换后的时间添加到数据集中
df = pd.DataFrame(data, columns=['user', 'location', 'time'])
```
在这个代码中,我们先读取了 Foursquare 纽约市数据集,并将其转换为 NumPy 数组格式。然后,我们使用 Pandas 库的 `to_datetime` 函数将起始时间(2012 年 4 月 3 日 0 点)转换为 datetime 格式,再将时间序号转换为时间偏移,并加上起始时间,得到具体的时间信息。最后,我们将转换后的时间添加到数据集中,以便后续分析使用。
这样,我们就可以对 Foursquare 纽约市数据集中的时间信息进行分析了。
阅读全文