30 lines
886 B
Python
30 lines
886 B
Python
import numpy as np
|
|
import pandas as pd
|
|
|
|
count = 1000 * 100
|
|
|
|
a = np.arange(count)
|
|
l = set([ f"{i:05d}" for i in a ])
|
|
sum_list = [ sum(map(int, list(i))) for i in l]
|
|
sum_df = pd.value_counts(sum_list)
|
|
# print(sum_df.to_dict())
|
|
# print(np.ceil((100000/sum_df)).to_dict())
|
|
|
|
# 数字个数统计
|
|
sum_union_dict = dict()
|
|
num_cnt_dict = dict()
|
|
for i in a:
|
|
item = f"{i:05d}"
|
|
sum_first_3 = sum(map(int, list(item[:3])))
|
|
sum_next_3 = sum(map(int, list(item[2:])))
|
|
sum_key = f"{sum_first_3}_{sum_next_3}"
|
|
sum_v = sum_union_dict.get(sum_key, 0)
|
|
sum_union_dict[sum_key] = sum_v + 1
|
|
num_count = len(set(item))
|
|
v = num_cnt_dict.get(num_count, 0)
|
|
num_cnt_dict[num_count] = v + 1
|
|
sum_union_df = pd.Series(sum_union_dict)
|
|
num_cnt_df = pd.Series(num_cnt_dict)
|
|
print(sum_union_df.sort_values(ascending=False)[:20])
|
|
print(count / num_cnt_df)
|
|
print(sum_union_df["14_15"]) |