# 统计是否被诈骗数量分布 num_fraud = data[data['fraud'] == 1.0].shape[0] # fraud = 1.0 表示 被诈骗数据 num_no_fraud = data[data['fraud'] == 0.0].shape[0] # fraud = 0.0 表示 未被诈骗数据 print(num_fraud,num_no_fraud) ##绘制正负样本百分比图 # 数据 labels = ['fraud', 'Not fraud'] sizes = [num_fraud, num_no_fraud] # 绘制饼图 plt.???(sizes, labels=labels,colors=['#fdbf9c','#d6f9d1'], autopct='%1.1f%%', textprops={'fontsize': 13},startangle=90) # 添加标题 plt.title('是否被诈骗数量分布百分比图',fontsize=15) # 显示图形 plt.show()
时间: 2023-10-11 18:10:43 浏览: 106
以下是完整的代码,用于统计是否被诈骗数据的数量分布并绘制饼图:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据集
data = pd.read_csv("data.csv")
# 统计是否被诈骗数据的数量分布
num_fraud = data[data['fraud'] == 1.0].shape[0] # fraud = 1.0 表示被诈骗数据
num_no_fraud = data[data['fraud'] == 0.0].shape[0] # fraud = 0.0 表示未被诈骗数据
# 绘制正负样本百分比图
labels = ['fraud', 'Not fraud']
sizes = [num_fraud, num_no_fraud]
# 绘制饼图
plt.pie(sizes, labels=labels, colors=['#fdbf9c','#d6f9d1'], autopct='%1.1f%%', textprops={'fontsize': 13}, startangle=90)
# 添加标题
plt.title('是否被诈骗数量分布百分比图',fontsize=15)
# 显示图形
plt.show()
```
执行上述代码后,你会得到一个饼图,用于表示是否被诈骗数据的数量分布情况。
相关问题
# 统计是否被诈骗数量分布 num_fraud = data[data['fraud'] == 1.0].shape[0] # fraud = 1.0 表示 被诈骗数据 num_no_fraud = ??? # fraud = 0.0 表示 未被诈骗数据
你可以使用类似下面的代码来统计是否被诈骗数量分布:
```python
num_fraud = data[data['fraud'] == 1.0].shape[0]
num_no_fraud = data[data['fraud'] == 0.0].shape[0]
print("被诈骗的数量:", num_fraud)
print("未被诈骗的数量:", num_no_fraud)
```
其中,`data['fraud'] == 1.0` 表示选取 `data` 数据集中 `fraud` 列中等于 `1.0` 的行。`shape[0]` 表示选取的行数,即被诈骗的数量或未被诈骗的数量。注意,`fraud` 列中的值可能是浮点型,因此需要使用 `1.0` 或 `0.0` 来比较。
#第 2步:计算 表NotFraud 的相关性 # 这里计算 除 fraud列 的剩余7列的相关性 corr_Fraud = Fraud.loc[:, Fraud.columns != 'fraud'].corr() # 查看计算结果 corr_Fraud
你可以使用 `corr()` 方法来计算相关性,如下所示:
```python
# 计算表Fraud的相关性
corr_Fraud = Fraud.loc[:, Fraud.columns != 'fraud'].corr()
print(corr_Fraud)
```
这将计算 `Fraud` 表中除 `fraud` 列以外的所有列(即剩余的七列)两两之间的相关性,并存储在 `corr_Fraud` 中。使用 `loc[]` 方法可以按标签选取行或列, `[:, Fraud.columns != 'fraud']` 表示选取所有行,并且选取除 `fraud` 列以外的所有列。最后使用 `print()` 函数输出相关性矩阵。