专栏首页一行数据为什么我们这么穷【Python分析】

为什么我们这么穷【Python分析】

‍有一个问题不知道有没有缠绕你很久,就是“为什么我们这么穷?”。原因是我们不够努力,还是我们的爹不够努力,是运气不好,还是时代的问题。行哥今天就用Python来从另一个角度深入分析一下这个问题

首先我们从一个游戏来入手:

房间内有100个人,每个人有100元,每过1分钟每个人都要随机给一个人1块钱(可以是别人也可以是自己,保持随机性),过一段时间后房间内资金分配会怎么样?

从直觉来看,这道题只有两种答案,一种是玩家的财产都差不多,另一种玩家的财产差异越来越大。分析之前不妨先投票做个调查,你支持哪种结果?

no bb show your gif

设置一个列表有100个元素代替100个玩家的财产,初始数据皆为100,每次分钱对每个元素都减去1,并循环100次给1个随机元素增加1。结果的动图如‍上,我们看到分了250次钱,结果好像是财富差距越来越大???

完整代码在这,你看看有没有错:

# 每人100元,然后每人进行分钱
import random
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
p = [100] * 100  # 设置个列表,每人有多少钱
ax = plt.subplot(1, 1, 1)
coin = 1
for d in range(1,1001):  # 设置分钱次数
    color = []
    for i in range(100):  # 每次分钱每人先扣一块钱
        p[i] -= coin
    for i in range(100):  # 再将这100块钱随机分配到其他人身上
        p[random.randint(0, 99)] += coin
    for i in p:
        if i <= 0:
            color.append("red")
        else:
            color.append("blue")
    ax.cla()  # 清楚画面
    ax.bar(range(100), p , width=0.9, color = color,alpha=0.5)  # 画柱状图
    plt.title("第%d次分钱" % d)  # 设置标题
    plt.ylabel("身价")
    plt.pause(0.01)  # 设置暂停
plt.show()

行哥的个人理解是,在资源总和固定和分配概率固定的情况下,如果刚开始第一个人获得1块钱,第二个人失去1块钱,他们的差距是两块钱,第二个人财产想超过第一个人的概率呈指数递减,并且当分配的次数越多,二者的差距越大,反超概率越低

横向图来看

或者我们用折线图来展示,为了快速看出结果,修改分配的金钱基数为10块钱(即每次减去10块钱和每次随机获得10块钱)。我们可以从动图看到确实一开始有钱的越有钱,穷的越来越穷,虽然中间有所波折,但是也像极了我们的人生,大起大落落落落落落....

下图是第539次分配(分配金钱基数为1块钱),可以看到黄色和蓝色玩家从一开始的落后始终也没能翻身,紫色玩家即使大幅度家道中落也处在玩家的中间位置

破产能不能逆袭?

这里提高资金分配的基数为10,并对曾破产的玩家修改颜色为红色。从动图可以看出,曾经破产的玩家再逆袭是可以的,但是逆袭的玩家从数量和财富值来说都是不如一开始领先的玩家

出生不同

如果更贴近一下真实的世界,每个人出生的财产是不一样的。即使进行1000次财产分配,出生财产处于下层的依旧处于下层,出生财产处于上层依旧处于上层。不乏也有红色这样的上进派,希望通过自己的努力进入上层阶级,这需要时间,也需要运气。

政府补贴

当然政府是会保证人民的基本生活条件,所以我们设置参数当一个玩家再财富为0时,政府会主动给他补贴10。我们从下图可以看到紫色玩家展示了真正的落地反弹

生产力的发展

从时代的角度来看,资源的总和随着生产力的发展是不断膨胀的。这里我们设置每次分配的时候,每个玩家都减去1块钱但是能够获得3块钱,最后的结果如下图

可以看到,所有玩家的财富都在增长。所以当我们把眼光放的长远,我们比过去的人们富有太多,可以想想现在的手机放在100年前要值多少钱?

End

游戏分析到这我们可以看出,我们穷的原因真的是因为我们爹穷。就像法拉利一样,99%的人出生时候买不起,1%的人这辈子就买不起了。当然除此以外还有其他因素,但是出生时所处的社会阶层占据了很大的原因

不过从游戏里也能看出,脱离贫穷的唯一办法就是抓住每次机会来减少差距,例如08年的比特币,10年的房子,12年的公众号,时代的快车只要你能赶上一趟,就不会再有开篇这个问题了

本文分享自微信公众号 - 一行数据(rowdata),作者:一行数据

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 3000字详解四种常用的缺失值处理方法

    不论是自己爬虫获取的还是从公开数据源上获取的数据集,都不能保证数据集是完全准确的,难免会有一些缺失值。而以这样数据集为基础进行建模或者数据分析时,缺失值会对结果...

    行哥玩Python
  • 10个抖音上很火的Excel小技巧,一看就会

    行哥玩Python
  • Python制作十款经典的童年游戏(附源码)

    不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过。这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末

    行哥玩Python
  • 使用Matplotlib的数据可视化初学者指南

    本文的目的是提供使用Matplotlib的简要介绍,Matplotlib是Python中最常用的绘图库之一。在本演练结束时,将了解如何制作几种不同类型的可视化以...

    代码医生工作室
  • 绘制频率分布直方图的三种方法,总结的很用心!

    直方图能帮助迅速了解数据的分布形态,将观测数据分组,并以柱状条表示各分组中观测数据的个数。简单而有效的可视化方法,可检测数据是否有问题,也可看出数据是否遵从某种...

    double
  • 数据可视化-Matplotlib创建第一个图表

    Matplotlib是一个绘图库,具有许多功能,可以以易于理解的格式显示数据。只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等对于简单的绘图,...

    亚乐记
  • 绘图: Python matplotlib简介

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! matplotlib是基于numpy的一套...

    Vamei
  • NDK启航篇——C语言基础(字符串)

    longzeqiu
  • 《Luna》测评|一段不算平凡的故事,VR游戏中的白月光

    生活没有时光机,也没有魔法棒,它变不出女巫和骑士,结局也未必美好。如果有一个世界,让人们可以逃离与躲藏,平静温柔的如同水一般的月光……

    VRPinea
  • 限制字符串输入——正则表达式(VB.NET)

    在做机房收费系统的时候,几乎所有的窗体上都存在着文本框或者组合框,当用户进行操作的时候,首先要判断是否为空,然后再对各种属性进行判断,比如;卡号、学号、金额等...

    令仔很忙

扫码关注云+社区

领取腾讯云代金券