Python 如何将多行时间戳和对象合并到行项目中进行数据预处理?

Python 如何将多行时间戳和对象合并到行项目中进行数据预处理?,python,python-3.x,pandas,dataframe,time-series,Python,Python 3.x,Pandas,Dataframe,Time Series,嗨,堆栈溢出社区 从下面的屏幕截图可以看出,我有一个邻居犯罪的数据框,它有多个时间戳和每天的犯罪类型。 我试图通过合并同一日期的时间戳以及将犯罪类型(type=object)转换和合并为整数格式来创建额外的数据帧。因此,每天都将是一个行项目。我还想添加一个新列,显示基于每天犯罪数量的数据预处理结果。我的目标是创建一个新的数据帧,如下所示: Crimes Crime level 2018-01-01 7 High 2018-01-02 3

嗨,堆栈溢出社区

从下面的屏幕截图可以看出,我有一个邻居犯罪的数据框,它有多个时间戳和每天的犯罪类型。

我试图通过合并同一日期的时间戳以及将犯罪类型(type=object)转换和合并为整数格式来创建额外的数据帧。因此,每天都将是一个行项目。我还想添加一个新列,显示基于每天犯罪数量的数据预处理结果。我的目标是创建一个新的数据帧,如下所示:

Crimes Crime level 2018-01-01 7 High 2018-01-02 3 Medium 2018-01-03 2 Low ... and so on 犯罪水平 2018-01-01 7偏高 2018-01-02 3中等 2018-01-03 2低 ... 等等 对于“犯罪级别”列,我将使用以下代码来分析数据预处理的结果:

new_df['Crime level'] = np.where(abs(new_df['Crimes'])>5, 'High', np.where(abs(new_df['Crimes'])>2,'Medium','Low')) 新的犯罪水平=np.其中(abs(新的犯罪水平)>5,‘高’, np.where(abs(new_df['Crimes'])>2、'Medium'、'Low'))
实现所有这些目标的最佳方法是什么?任何建议或指导将不胜感激

此问题与列无关,您只需使用索引即可解决。

首先,按每天对数据进行分组

# I created a demo df
grouped = df.groupby(pd.Grouper(freq='D')).count()
print(grouped)
然后将
CRIME
列分为不同级别

grouped['Crime level'] = pd.cut(grouped.CRIME, 
                                bins=[0,2,5,100], 
                                labels =["Low","Medium","High"])
print(grouped)
pd.cut
操作将
CRIME
列切割为3个间隔
(0,2],(2,5],(5100]
,并为每个间隔分配标签
[“低”、“中”、“高”

            CRIME Crime level
2019-01-01      2         Low
2019-01-02      5      Medium
2019-01-03     20        High
2019-01-04      2         Low
2019-01-05      1         Low

此问题与列无关,只需使用索引即可解决。

首先,按每天对数据进行分组

# I created a demo df
grouped = df.groupby(pd.Grouper(freq='D')).count()
print(grouped)
然后将
CRIME
列分为不同级别

grouped['Crime level'] = pd.cut(grouped.CRIME, 
                                bins=[0,2,5,100], 
                                labels =["Low","Medium","High"])
print(grouped)
pd.cut
操作将
CRIME
列切割为3个间隔
(0,2],(2,5],(5100]
,并为每个间隔分配标签
[“低”、“中”、“高”

            CRIME Crime level
2019-01-01      2         Low
2019-01-02      5      Medium
2019-01-03     20        High
2019-01-04      2         Low
2019-01-05      1         Low

您可以通过文本发布原始数据吗?因此我们可以使用
pd.read_clipboard()
来获取演示数据。FIY,您提供的数据允许我们确定犯罪发生的位置(在本例中为Kits,不列颠哥伦比亚省温哥华)当你给出lat和long时,谷歌可以获得准确的地址。我不知道这些数据是否是原始数据,或者即使对于不是为警察/司法部门工作的人来说,这些数据是否容易找到,但我建议不要在公共网站上共享这些信息,如果这些信息来自内部数据源。特别是当你的问题n与这些列无关:)@Dawei你能解释一下如何通过文本发布原始数据吗?这只是简单的复制和粘贴吗?请建议:)@Ben.T原始数据是问题所在。在日本,有些城市有犯罪地图,但它只是一张网格汇总图,而不是原始点数据。@ShawnS.Choi你可以
打印(df)
,然后复制结果。您能通过文本发布原始数据吗?这样我们就可以使用
pd.read_clipboard()
来获取演示数据。FIY,您提供的数据允许我们识别犯罪发生的地点(在本例中为不列颠哥伦比亚省温哥华Kits)当你给出lat和long时,谷歌可以获得准确的地址。我不知道这些数据是否是原始数据,或者即使对于不是为警察/司法部门工作的人来说,这些数据是否容易找到,但我建议不要在公共网站上共享这些信息,如果这些信息来自内部数据源。特别是当你的问题n与这些列无关:)@Dawei你能解释一下如何通过文本发布原始数据吗?这只是简单的复制和粘贴吗?请建议:)@Ben.T原始数据是问题所在。在日本,有些城市有犯罪地图,但它只是一张网格汇总图,而不是原始点数据。@ShawnS.Choi你可以
打印(df)
,然后复制结果。这就像一个符咒!非常感谢您对@Dawei!非常感谢的帮助和指导!:)这就像一个符咒!非常感谢您对@Dawei!非常感谢的帮助和指导!:)