我有一个庞大的犯罪统计数据库(“犯罪数据.csv)其中,列是犯罪的类别,行是犯罪发生的地址。因此,这些数据就是特定地址的犯罪实例。在
我已将此放入熊猫数据框:
import os
import pandas as pd
relativePath=os.getcwd()
dataFilePath=relativePath+"/Resources/crimeData.csv"
data = pd.read_csv(dataFilePath)
df = pd.DataFrame(data)
我需要计算每类犯罪的平均发生次数(我的数据框中的列)。我在这里做的:
^{pr2}$现在是我卡住的地方了。我现在需要编写一个函数,它可以完成两件事:
编辑:
我用泰德下面的建议来强调那些高于平均值的单元格:
import os
import pandas as pd
import numpy as np
relativePath=os.getcwd()
dataFilePath=relativePath+"/Resources/crimeData.csv"
data = pd.read_csv(dataFilePath)
df = pd.DataFrame(data)
df.mean(axis=0)
df.style.apply(lambda x: np.where(x > df.mean(), 'background-color: green', ''), axis=1)
df
这似乎没有导致数据帧的任何更改。还是什么都没有突出。我错过了什么????在
编辑2:
这是数据帧的标题:
Address ARSON ASSAULT BAD CHECKS BRIBERY \
0 OAK ST / LAGUNA ST 0 0 0 0
1 VANNESS AV / GREENWICH ST 0 1 0 0
2 1500 Block of LOMBARD ST 0 8 0 0
3 100 Block of BRODERICK ST 0 2 1 0
4 0 Block of TEDDY AV 0 9 0 0
将列地址放入索引中。在
您应该能够使用pandas
^{pr2}$where
方法使所有值小于平均值null,然后使用dropna
删除行下面是一个例子,我创建了一个10列,2行的数据帧,包含0到1之间的随机数。只保留两列均大于列平均值的行。在
为了进一步检查原始数据帧,我们可以突出显示大于平均值的单元格。有两个绿色单元格的行就是我们想要的。在
^{4}$您还应该能够:
相关问题 更多 >
编程相关推荐