Wandering_night 2024-04-13 00:54 采纳率: 47.1%
浏览 2
已结题

转化为纯粹的数值列表

请问怎么把frequency转化成一个纯粹的数值列表呢?

#将2000个数据转为一个列表
datas_1=df['工厂1'].tolist()
datas_2=df['工厂2'].tolist()
datas_3=df['工厂3'].tolist()
datas_4=df['工厂4'].tolist()
datas=[datas_1,datas_2,datas_3,datas_4]
#将4个列表合并为一个
data_list=sum(datas,[])
#排序
data_list_sorted = sorted(data_list)

#分组
groups=range(73,232,10)
#计算每一组的频数
s=pd.cut(data_list_sorted,bins=[frequency for frequency in groups])
frequency=s.value_counts()


#这是输出的结果:
[(73, 83]       49
(83, 93]      145
(93, 103]     176
(103, 113]    120
(113, 123]    161
(123, 133]    250
(133, 143]    218
(143, 153]    143
(153, 163]    149
(163, 173]    181
(173, 183]     89
(183, 193]     48
(193, 203]    193
(203, 213]     78
(213, 223]      0
Name: count, dtype: int64]
  • 写回答

5条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-04-13 00:55
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    可以直接使用value_counts()函数将频数数据转化为一个纯粹的数值列表,代码如下:
    frequency_list = frequency.values.tolist()
    

    其中,frequency是之前计算得到的频数数据,将其转化为列表后,我们就可以该列表进行进一步处理或直接输出了。以此为例,完整的代码如下:

    import pandas as pd
    # 将2000个数据转为一个列表
    datas_1 = df['工厂1'].tolist()
    datas_2 = df['工厂2'].tolist()
    datas_3 = df['工厂3'].tolist()
    datas_4 = df['工厂4'].tolist()
    datas = [datas_1,datas_2,datas_3,datas_4]
    # 将4个列表合并为一个
    data_list = sum(datas,[])
    # 排序
    data_list_sorted = sorted(data_list)
    # 分组
    groups = range(73,232,10)
    # 计算每一组的频数
    s = pd.cut(data_list_sorted,bins=[frequency for frequency in groups])
    frequency = s.value_counts()
    # 将频数数据转化为一个纯粹的数值列表
    frequency_list = frequency.values.tolist()
    

    其中,frequency_list就是我们需要的纯粹的数值列表。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月13日