https://github.com/duangsuse-valid-projects/pr.py #github 一瞬结案
如果以后再继续,我肯定会选择支持直接匹配词类队列… 来删除掉不合适的组合和添加合适的词
以及提供基于句式学习的方法
如果以后再继续,我肯定会选择支持直接匹配词类队列… 来删除掉不合适的组合和添加合适的词
以及提供基于句式学习的方法
GitHub
duangsuse-valid-projects/pr.py
Simple utility generating random Chinese text. Contribute to duangsuse-valid-projects/pr.py development by creating an account on GitHub.
duangsuse::Echo
https://github.com/duangsuse-valid-projects/pr.py #github 一瞬结案 如果以后再继续,我肯定会选择支持直接匹配词类队列… 来删除掉不合适的组合和添加合适的词 以及提供基于句式学习的方法
直播统计数据(Mean均值、50% 中位 的 Rect 和 Pie、总分的 Scatter1D、文/数、文/英的 Scatter2D)。 #Python #data首先准备混淆处理人名,当然这个混淆不能保证最终的人名包含与原来不一样的字符
hancs = <<EOBJX
赵钱孙李周吴郑王…
EOBJX
hancs = hancs.lines.map(&:strip).join.chars require 'csv'
scsv = CSV.open('周测8成绩.csv')
scsv.seek(0)
stud = scsv.read()
puts stud[0].join("\t")
stud = [stud[0]]+stud[1..-1].map { |rs| rs.each_with_index.map { |c, i| if i == 0 then (c.chars+hancs.sample(2)).sort.join[1..3] else c.to_i end } } 然后可以导出给 Python 了……
File.write('stat.csv', stud.map { |row| row.join(",") }.join("\n")) 姓名 语文1 语文2 英语1 英语2 英语3 英语4 数学 总分 周测8名次
from pandas import DataFrame因为名次是影响排行的,所以直接整合到表的 order 里即可
import pandas as pd
d=pd.read_csv('stat.csv')
d.sort_values('周测8名次', ascending=True)
del d['周测8名次']
首先是平均分的 plot>>> d.describe()……pandas 的人真是连动态规划都不会写,其实也不必要动态规划,
语文1 语文2 英语1 英语2 英语3 英语4 数学 总分
count 36.000000 36.000000 36.000000 36.000000 36.000000 36.000000 36.000000 36.000000
mean 46.083333 22.750000 96.888889 93.583333 112.083333 113.250000 86.527778 571.166667
std 2.771024 4.170474 4.055175 6.682066 19.824047 5.405685 12.847426 39.028561
min 35.000000 13.000000 83.000000 71.000000 0.000000 96.000000 47.000000 451.000000
25% 45.000000 19.750000 95.000000 91.250000 112.000000 112.000000 80.500000 557.500000
50% 47.000000 23.000000 98.000000 96.000000 117.000000 115.000000 91.000000 578.500000
75% 47.250000 27.000000 100.000000 98.000000 119.000000 117.000000 97.000000 599.250000
max 50.000000 29.000000 100.000000 105.000000 120.000000 120.000000 100.000000 616.000000
>>> d.head(3)
姓名 语文1 语文2 英语1 英语2 英语3 英语4 数学 总分
李煜胡 50 28 100 99 120 119 100 616
文王王 49 29 100 98 120 118 98 612
悦祺郑 47 29 99 98 119 119 100 611
但是 matplotlib 的维护文档感觉很齐全,可配置性也很高,不过我还是通过搜索(而不是通过跟踪 GitHub 上的源代码)找到了设置中文字体的答案……
然后可以打开 IPython 了
import matplotlib as mp
import matplotlib.pyplot as p
mp.rcParams['font.family'] = 'WenQuanYi Zen Hei'
p.plot(d) # 测试一下……我感觉我的智商受到了侮辱,虽然它本身也没有高到哪里去……
d.plot(title='成绩折线图')
所以要统计好数据必须把很多图做在一个图表里
一种情况是直接画在一个座标系,一种是放子图表……
GitHub
matplotlib/matplotlib
matplotlib: plotting with Python. Contribute to matplotlib/matplotlib development by creating an account on GitHub.
还能算点积… (reversed product) 🤔 argmin, argmax 是什么,cum 又是什么…
还能算单调性… is_monotonic
z.is_monotonic_decreasing (forall x0, x1. x0 < x1 => y(x0) < y(x1))
还能算单调性… is_monotonic
z.is_monotonic_decreasing (forall x0, x1. x0 < x1 => y(x0) < y(x1))
duangsuse::Echo
还能算点积… (reversed product) 🤔 argmin, argmax 是什么,cum 又是什么… 还能算单调性… is_monotonic z.is_monotonic_decreasing (forall x0, x1. x0 < x1 => y(x0) < y(x1))
虽然不会 matplotlib 和 pandas,也不会统计…… 首先看看平均分和中位数的 Pie/Rect(hist)
当然也可以使用
还可以用 aggerate, combine, groupby 什么的常用操作符
当然要减去就麻烦一点了
雷人的中文命名,不过没关系
位值 = DataFrame()
位值['最大'] = d.max()
位值['中间'] = d.median()
位值['最小'] = d.min()
del 位值[位值['姓名']] # 不成!
位值 = 位值.aggregate(lambda xs: xs[1:-1]) # 绝望使用 修剪 seris
均值 = d.mean()
全班 = d.sum()
dt = DataFrame()然后是总分的一维分布图、语文/英语 文科/数学 的二维分布情况
for col in 位值.columns:
dt[col] = 位值[col]
dt['平均'] = 均值
dt.plot(title='成绩概况')
语文=d['语文1']+d['语文2']
英语 = d['英语1']
for 号 in range(2,4):
英语 += d['英语'+str(号)]
数学 = d.数学 当然也可以使用
boxplot 什么的 🤔 居然还可以算 diff… 这样可以直接一些,不用把两个对象放一张图上比较看kurt 是什么,d.melt() 好像是平铺的版本,d.stack() 是每个对象的元组还可以用 aggerate, combine, groupby 什么的常用操作符
当然要减去就麻烦一点了
雷人的中文命名,不过没关系
平均, 中间 = d.mean(), d.median()
def pieOf(ser, *fps, **kwps):
return p.pie(ser, *fps, **kwps, labels=ser.index) 总分的 pie
zp = d.sum()
del zp['姓名'], zp['总分']
zp = zp.astype(int)https://matplotlib.org/3.1.1/gallery/pyplots/pyplot_two_subplots.html#sphx-glr-gallery-pyplots-pyplot-two-subplots-py
https://matplotlib.org/3.1.1/gallery/subplots_axes_and_figures/align_labels_demo.html#sphx-glr-gallery-subplots-axes-and-figures-align-labels-demo-py
https://matplotlib.org/3.1.1/gallery/subplots_axes_and_figures/align_labels_demo.html#sphx-glr-gallery-subplots-axes-and-figures-align-labels-demo-py
import numpy as n
import matplotlib.pyplot as p
def f(x): return n.cos(2* x*n.pi) *n.exp(-x) xs0 = n.arange(0.0, 5.0, 0.1)
xs1 = n.arange(0.0, 5.0, 0.02) p.figure()
p.subplot(211) # 2, r, c, ....
p.plot(xs0, f(xs0), marker='o', color='tab:blue')
p.plot(xs1, f(xs1), color='tab:red')
p.subplot(212)
p.plot(xs1, 2* xs1*n.pi, linestyle='--', color='tab:green')
p.show()语 = DataFrame()🤔 发现不能这么用……
语['A'] = d['语文1']
语['B'] = d['语文2']
外 = DataFrame()
for 号 in range(1,4):
外[chr(ord('A')+号)] = d['英语'+str(号)]
p.figure()
p.subplot(311)
pieOf(语.mean())
p.subplot(321)
pieOf(语.median())
p.subplot(331)
pieOf(语.sum())
艹 = DataFrame() # 其实本来用 Serie 就够了……
艹['外'] = [外.mean().mean()]
艹['语'] = [(语.A + 语.B).mean()]
艹['数'] = [d.数学.mean()]
pieOf(艹.sum())XKCB 风格的 boxplot, hist, plot,我们可以看到,其实数学才是学生在竞争中失利最大的黑手!我们要好好…… 补习数学(绝望