日期: 2021 年 4 月 8 日

小白遇到个字符串数据处理,请教一下

小白遇到个字符串数据处理,请教一下

 

字符串如下(部分),

LWWLWLWWLLLLLWLLLWLWLWWWLWLWWWLWLWLLWLLLLWLLLWLWLWWW

从头开始,统计,遇到相同的数据,统计一次,如,L 统计成 1,后面遇到 WW 统计成 2 次,又遇到 L 统计成 1 次,W 统计成 1 次,以此类推。

想得到的结果,
L(1),W(2),L(1),W(1),L(1),W(2),L(5),……..

然后生成图表(折线图或柱状图)

5 条回复    2021-04-07 22:07:06 +08:00

eason1874
    1

eason1874   5 天前   ❤️ 1

作业?老题目了,我没写 Python 都看过这题。随手一搜就有答案。

import itertools

result = [(k, len(list(g))) for k, g in itertools.groupby(‘LWWLWLWWLLLLLWLLLWLWLWWWLWLWWWLWLWLLWLLLLWLLLWLWLWWW’)]

print(result)

hellogitooxx
    2

hellogitooxx   5 天前

@eason1874 感谢。
imn1
    3

imn1   4 天前   ❤️ 1

#1 这个是手册上的例程,看样子没看过 itertools 这章
xihuannihesuanna
    4

xihuannihesuanna   16 小时 59 分钟前

@imn1 老哥 什么手册呐 ?? 求指路
imn1
    5

imn1   15 小时 11 分钟前

@xihuannihesuanna #4
这问题怎么答啊?
怎么还有人写 Python 不知道手册的?全靠猜么?https://docs.python.org

 

为什么轻薄和全面屏牺牲外放是否值得?

小米 11,mate30,三星 s20 都是类似的设计,半隐藏式的听筒,机身轻薄。带来的的问题就是
外放音质差,后壳震动明显。

56 条回复    2021-02-08 13:31:04 +08:00

learningman
    1

learningman   60 天前

后壳震动…
这不是 bug,这是 feature
参见 LG 的 BoomBox
cmdOptionKana
    2

cmdOptionKana   60 天前   ❤️ 2

值得,一般人对外放的要求就是听个响,真对音质有要求的人也不会爱听手机外放啊。
geniussoft
    3

geniussoft   60 天前

不值得。
但是外放音质很难量化,更无法吸引研究。
geniussoft
    4

geniussoft   60 天前

眼球
aLazarus
    5

aLazarus   60 天前

有不牺牲的,HTC m8,但是不是全面屏
fiveelementgid
    6

fiveelementgid   60 天前 via Android

外放一般是听个响,不重要了
echo314
    7

echo314   60 天前 via iPhone   ❤️ 2

值得,因为这是多数人的需求。
外放音质排序必然低于屏幕、外观。
spacedebris
    8

spacedebris   60 天前

硬说 pad 还有点外放的需求,手机我真是没想出来一点,就算删了音响我都能接受
zbttl
    9

zbttl   60 天前

后壳振动明显这个我*反应就是 ipad air (
买到手后放首歌*感觉就是真的震啊
ZRS
    10

ZRS   60 天前

外放很重要的

WebKit
    11

WebKit   60 天前 via Android

小米 11 外放还是很好的吧?当然有点震手。
Pierson
    12

Pierson   60 天前

平衡很重要
66beta
    13

66beta   60 天前 via Android

小米 11 虽然比小米 10 差点,但也能排前三了吧?
怎么就进了你的效果查名单了
hstdt
    14

hstdt   60 天前 via iPhone

能放闹钟就行
pengW
    15

pengW   60 天前 via Android

个人认为外放就是闹钟用一下
Clash
    16

Clash   60 天前   ❤️ 5

楼上的你们都能看得懂楼主的标题?
我看了好几遍,结合你们的回答才确定的
Nich0la5
    17

Nich0la5   60 天前 via Android

对于我这这种耳机从来不摘的人来说,外放一文不值
580a388da131
    18

580a388da131   60 天前

@Clash 互联网混久了,这种普通错字少标点就会自动脑补了,早晚进化到爽言爽语。
gitjavascript
    19

gitjavascript   60 天前

外放音质差不差我不清楚,至少比之前的好太多了吧,为啥是牺牲了外放,明明是不断增强啊。
dwSun
    20

dwSun   60 天前

就像有个帅哥是破锣嗓子,还有个天籁之音,但是长得很抱歉,只有这两个选项的情况下,问姑娘选哪个。
dadingding
    21

dadingding   60 天前

所实话 我不觉得 s20 的外放牺牲了 … 音质一点也不差
wolfie
    22

wolfie   60 天前

@aLazarus #5
14 年机器扯什么全面屏
Leonard
    23

Leonard   60 天前

这个真的分人,我认为值得。
有人认为为全面屏牺牲前置摄像头也值得。
dongtingyue
    24

dongtingyue   60 天前

外放对于我来说听个响就行,大部分带耳机。
changf
    25

changf   60 天前

@Clash 哈哈哈。估计产品说话也这样,大家都是程序员,所以可以智能解析。
changf
    26

changf   60 天前

@Nich0la5 老哥,我们头像一样
northisland
    27

northisland   60 天前

是短板。

iphone 外放挺好的,折叠屏外放音质也不错。

murmur
    28

murmur   60 天前

iphone 是牺牲了电池来保证外放效果

iphone 12 pro max 半斤机 轻么

喇叭大一点压死人

dxgfalcongbit
    29

dxgfalcongbit   60 天前 via Android

有点好奇对外放音质有要求的人是什么使用场景,如果在外面开会的话音质瓶颈很有可能是网络传输,在家的话应该有更好的音箱可以用,在公共场所看视频打游戏一般用耳机吧?也许是出差在旅馆晚上看视频打游戏不想戴耳机?话说现在旅馆很多电视也支持手机投屏了吧…
emeab
    30

emeab   60 天前

值得 / 我从来不外放. 现在蓝牙耳机那么便宜了.为什么要外发
Maxxxxyu
    31

Maxxxxyu   60 天前

iPhone12 挺轻薄,162g,7.4 毫米,外放音质也不差
Clash
    32

Clash   60 天前

@changf #25 智能解析…厉害了 %title插图%num
zxcslove
    33

zxcslove   60 天前

“我即世界”大型现场秀
wolong
    34

wolong   60 天前

用户懂什么,商家怎么做你就怎么买。
zxcslove
    35

zxcslove   60 天前

早上洗漱做饭吃饭的时候,外放点新闻和讲述类节目听听,走到哪就放哪不很正常么?还有那功夫连接这那的?
wxw752
    36

wxw752   60 天前

值得,手机几乎不外放,兜里常备蓝牙耳机。
drunkdog
    37

drunkdog   60 天前

垃圾,苹果外放音质就很好
hand515
    38

hand515   60 天前 via Android

小米 11 的外放音质比小米 9 好太多了,当然震手也强太多了
Hallujah
    39

Hallujah   60 天前

值得,依现在大家对别人的要求,只有独处的时候才会外放吧,使用场景少了,也就不重要了。
qqg1530
    40

qqg1530   59 天前 via Android

为了轻薄和全面屏牺牲外放是否值得?读了几回感觉不顺畅
breezeFP
    41

breezeFP   59 天前

厂商可以卖耳机了
LowBi
    42

LowBi   59 天前 via Android

三星外放虽然震动,但是音质不差好伐,双扬声器+杜比没的说
superrichman
    43

superrichman   59 天前 via iPhone

别胡说啊,我们这功能是 5D 体验 ?
andong777
    44

andong777   59 天前

语文考多少分能写出这样的标题… 读起来都不顺
ghjexxka
    45

ghjexxka   59 天前

值得,外放音量的重要性大于音质
fengmumu
    46

fengmumu   59 天前

@cmdOptionKana 别啊 用外音的也是人啊
Mrlzd
    47

Mrlzd   59 天前 via Android

鱼与熊掌。
sensonsama
    48

sensonsama   59 天前

对我来说,出门路上用铃声加蓝牙耳机,回家常连蓝牙音箱,办公室用 USB 解码一体机推密闭耳机。外放能用到的的场景太少了。
至于震感对我关系不大,如果你自身在意的话,就别调*大音量。我常年带壳,也会缓解一部分震动。
meepo3927
    49

meepo3927   59 天前

为什么我读不懂标题
amusier
    50

amusier   59 天前

@meepo3927 #49 把“什么”去掉试试
1018ji
    51

1018ji   59 天前

就跟讨论了有用一样
1018ji
    52

1018ji   59 天前

然而厂家该干嘛干嘛 哈哈哈
boluo
    53

boluo   59 天前

现在手机外放的场景很少吧,公共场合都不行,也就在家可以,在家的话手机播放我都连蓝牙了
no1xsyzy
    54

no1xsyzy   59 天前

@1018ji 天文研究有用吗?地球该怎么转还是怎么转不是?
no1xsyzy
    55

no1xsyzy   59 天前

这是为了消除外放!
这是 windfall 不是 tradeoff !
hullhutt
    56

hullhutt   58 天前

值得,我天天戴耳机,公众场合不好开外放

想阅读 Android 源码,请问该往哪个方向努力?

我是一年经验的 Android 开发,在某大厂工作。对 Android 的源码比较有兴趣。

尝试鼓捣过 AOSP,生成 ipr 文件后在 Android Studio 基本不报红。但是看源码抓瞎,不知道从何看起(如:①应用在安装过程中,Android 系统做了什么操作;②又或是状态栏下滑时,当前 TaskRecord 顶部的 Activity 会发生什么变化,等等),请问我该怎么做?

先感谢各位老哥老姐的回复!

12 条回复    2021-02-22 16:13:13 +08:00
MaxLi77
    1

MaxLi77   63 天前

半吊子先回答一下,Activity 相关 AMS,安装包管理 PMS,服务管理 Service Manager,进程通信 Binder 。懂的老哥可以多补充。
calloc
    2

calloc   63 天前 via iPhone

可以从上层 APP 入手,比如要分析安装 apk 时系统做了什么,我们知道系统在安装 apk 的时候 UI 界面是有所体现的,那么可以用`adb shell dumpsys activity top`命令查看当前界面对应的 Activity 。知道它的 Activity 就可以在源码中找到它对应的类,之后就可以用调试大法了。
ZSpirytus
    3

ZSpirytus   63 天前 via Android

@MaxLi77 感谢!我主要想搞懂某一个细节,比如说,点击安装后,系统做了什么之类的,直接看 AMS 和 PMS 的源码容易抓瞎。。
ZSpirytus
    4

ZSpirytus   63 天前 via Android

@calloc 感谢!这个思路巧妙,忘了还有 adb 这个工具,我试试看!
elonmask
    5

elonmask   63 天前 via Android   ❤️ 1

现在的安卓开发卷的厉害,想当年知道四大组件和生命周期就可以去 bat,现在又是 framework 又是 kernel 的,
12 年的时候我记得当时 QQ 安卓 app 的账号和密码都还放明文放 share preference 呢。如果
还年轻可以读个研或者自学换个方向,写界面是没有前途的。
MaxLi77
    6

MaxLi77   63 天前

@ZSpirytus 直接搜索 XXX 功能 + 源码分析,跟着别人的分析思路去看
m30102
    7

m30102   63 天前

@elonmask 以前 20 分的水平能一年一套房,现在 80 分的水平大概率睡桥洞
welkinshadow002
    8

welkinshadow002   62 天前

这里推荐 Gityuan 的相关博客,对整个流程的理解十分有帮助,http://gityuan.com/android/,我自己还买了一些书 android 系统内核设计思想啥的。

不过需要注意的是 android10 、android11 系统源码的改动比较大,自己还是要去跟一下

同样一年经验在学源码,共勉

ZSpirytus
    9

ZSpirytus   62 天前 via Android

@MaxLi77 哈哈,这个确实也是一种思路,我试试
ZSpirytus
    10

ZSpirytus   62 天前 via Android

@welkinshadow002 谢谢,这个我参考一下

ZSpirytus
    11

ZSpirytus   62 天前 via Android

@elonmask 我是纯兴趣的,只是好奇里面是怎么工作的
yolo0014
    12

yolo0014   44 天前

可以从 SystemUI 和 launcher 入手看看

2021 – Flutter or uniapp or React Native or Kotlin

想快速搭一个放推广广告的 APP,*好能跨平台,但搭建速度是唯一要求.

后续要接入第三方广告平台.

怎么选型,各位大佬 0.0

(个人技术栈偏后端,较少写 JS,所以都有一定的学习成本)

37 条回复    2021-02-13 22:24:46 +08:00
debuggerx
    1

debuggerx   61 天前   ❤️ 1

首先排除 flutter,其他人继续
Lxxyx
    2

Lxxyx   61 天前   ❤️ 1

React Native 可以满足你的需求,在不遇到 BUG 的情况下也挺快的,但出问题时如果不懂 native 就会比较麻烦
tuomasi
    3

tuomasi   61 天前   ❤️ 1

kotlin 或者 java
sss495088732
    4

sss495088732   61 天前

@debuggerx flutter 坑很多么 0.0,,…还花了一天时间看文档
sss495088732
    5

sss495088732   61 天前

@Lxxyx ….0.0 应该很难遇到不出 bug 的情况.
sss495088732
    6

sss495088732   61 天前

@tuomasi 所以还是原生么,还以为原生快被淘汰了.0.0
wa143825
    7

wa143825   61 天前   ❤️ 1

首选排除你来写,花钱找一个吧
xieren58
    8

xieren58   61 天前   ❤️ 1

Flutter , 谁用谁爽 ,快速开发赚到钱再说.
janxin
    9

janxin   61 天前   ❤️ 1

优先考虑原生,除非有强需求或其他需求,不建议选跨平台,要踩坑
sss495088732
    10

sss495088732   61 天前

@wa143825 还得维护迭代 0.0….不自己写不放心….上一个就是买的.现在被恶心吐了…换了四五个人维护这个屎山项目…搞不动了..重来一遍

sss495088732
    11

sss495088732   61 天前

@janxin 没什么调用到原生 API 的功能.都是 UI 和渲染,接第三方 webview 是不是能考虑跨平台
sss495088732
    12

sss495088732   61 天前

@xieren58 0.0 嗯嗯…就是这么想的…实在不行后期再招人重构
meteor957
    13

meteor957   61 天前

@sss495088732 你要说原生市场缩减有可能,原生被淘汰了,你觉得 rn flutter 这种还能活着?
visonme
    14

visonme   61 天前   ❤️ 1

四选一,要速度,无太多前端经验,我还是推荐 uniapp
weixiangzhe
    15

weixiangzhe   61 天前 via Android   ❤️ 1

直接 webview 吧?
wsyft
    16

wsyft   60 天前

+1
wsyft
    17

wsyft   60 天前

@visonme +1 支持 14 楼。
16 楼*次发帖不会回复。
sss495088732
    18

sss495088732   60 天前

@meteor957 嗯嗯,也是.草率了
sss495088732
    19

sss495088732   60 天前

@visonme 0.0 我看墙内 uniapp 挺多的.之前本科阶段导师也说 uniapp 很行 0.0.
WebKit
    20

WebKit   60 天前 via Android

uniapp 打包成原生 bug 太多了,不推荐,flutter 还是有些坑的,不过不用原生相关的东西还是可以的,流畅度也是可以的。kotlin 这个目前资料太少了
tanranran
    21

tanranran   60 天前   ❤️ 1

根据你的需求,uniapp 或者 Flutter,但是优先 uniapp

,楼上估计都是没有深入用过吧 [本人原生安卓 7 年经验,iOS 2 年经验,前端 3 年经验,C#1 年经验,uniapp1 年实际商用经验]

Flutter 需要学习的内容比 uniapp 高
React Native 太重了
Kotlin 现阶段更本不能商业化的跨平台
uniapp 缺点就是涉及到地图、多媒体、各种硬件功能的话,需要自己写插件,但如果业务只是 CRUD,他*对是目前跨平台中开发效率*高学习成本*低的框架

dcalsky
    22

dcalsky   60 天前

@sss495088732 本科导师也用过 uniapp ?很潮啊
ryougifujino
    23

ryougifujino   60 天前

@tanranran #21 kotlin 也是有 kotlin multiplatform 的,不过不是 UI 跨平台就是了。Netflix 实践过( https://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23?gi=ec795dd165c8 )所以不能算是不能商业化跨平台。
sss495088732
    24

sss495088732   60 天前

@WebKit 搭了个 flutter demo….感觉跟写 QT 一样 0.0…
sss495088732
    25

sss495088732   60 天前

@tanranran 0.0 非常感谢大佬.我先试下搭个 demo 跟 flutter 对比一下…感觉 uniapp 的社区很活跃 0.0
sss495088732
    26

sss495088732   60 天前

@dcalsky 教了我们一年就变成副院长…才 30 岁
tydl
    27

tydl   60 天前 via Android

uniapp 原来 app 这么好写
tanranran
    28

tanranran   60 天前

@ryougifujino #23 可能是我描述的有问题,意思是 kotlin 的跨平台,离正式使用还很远,主要是生态问题
lrvinye
    29

lrvinye   60 天前   ❤️ 1

uniapp 确实很快
YIsion
    30

YIsion   60 天前 via iPhone   ❤️ 1

uniapp 只适合简单的页面展示和表单提交。客户端有复杂的业务或者页面就不建议用了
debuggerx
    31

debuggerx   60 天前   ❤️ 1

@sss495088732 flutter 很好啊,我只是根据你的需求建议,你们不适合 flutter 而已,不要误解了。大多数场景我都是推荐跨平台方案优先 flutter 的,但是从你的描述,预计你用 fluuter 搭广告平台难度比较高,风险更大一些
mauve
    32

mauve   60 天前   ❤️ 1

想要优秀的用户体验只有原生
hushao
    33

hushao   59 天前   ❤️ 1

如果 js 不是很懂,rn 大概率你会碰一鼻子灰。flutter 很舒服,但是单单一个广告平台的话,ui 可能不重,flutter 对你们来说就是杀鸡的牛刀。uniapp 你们场景我猜是很合适的。
wuliaoshixia
    34

wuliaoshixia   59 天前   ❤️ 1

楼主要做的推广 app,所列的技术肯定都能实现。根据楼主描述的技术栈,感觉 uniapp 比较适合你们。
lxhcool
    35

lxhcool   59 天前

flutter 或者 rn
lxhcool
    36

lxhcool   59 天前   ❤️ 1

你还是选 flutter 吧,uni 和 rn 要学 vue 和 react
coolesting
    37

coolesting   53 天前 via Android

上手速度和跨平台,uniapp 〉 react n 〉 flutter 〉 native

如果要性能和深度,就反转来看。

有用过这种个人支付接口吗?体验如何?

*近在做一些安卓的 app 项目,也有小程序的,需要接入支付,找到了一些目前可以官方结算的个人接口,找到了几个,有点疑惑需要知情人的解答。这种是几乎所有支付方式都支持,而且是官方结算,也不需要执照,这是什么原理?

我目前知道支付宝是可以个人注册当面付的,微信这块好像没有提供个人能直接接入的 api 接口,微信网页端不让用后,我只知道目前可以用手机 app 监控来解决个人支付,但只支持手机扫码,不太适合我的项目

有用过的大佬说下吗,这种个人支付接口有没有什么坑呢?

第 1 条附言  ·  1 天前

之前用的有赞接口,但是已经下架了。目前找到的类似的这些,payjs 好像是*早做这个的,但是好贵啊…
payjs.cn
www.xunhupay.com
h5zhifu.com
10 条回复    2021-04-08 10:45:58 +08:00
testver
    1

testver   1 天前

没出事没坑,出事钱没了
AoEiuV020
    2

AoEiuV020   1 天前

没接过,但见过,机场之类不合规的软件集成的支付基本都是这种,做为用户就能看出来,时不时的失效、维护、更换,
只能算是没办法的办法,靠谱肯定是不靠谱的,
pytth
    3

pytth   1 天前

payjs.cn 用过,用了 2 年,体验跟官方的一样,还不错。
zhuweiyou
    4

zhuweiyou   1 天前

payjs 以前用过, 原理是 “小微商户”.
钱直接到官方的, 第二天自动提现到你的银行卡.
sleepm
    5

sleepm   1 天前

前两个应该算是微信支付服务商, 第三个不熟悉
https://pay.weixin.qq.com/static/partner_ability/platform_ability.shtml
airplayxcom
    6

airplayxcom   1 天前

4 、5 楼 正解,就是换个皮。
marcong95
    7

marcong95   22 小时 13 分钟前

h5zhihu 的推广贴不还呆在水深火热么,发帖人似乎只是一只“合法合规”的复读机

传送门: /t/765660

marcong95
    8

marcong95   22 小时 7 分钟前

@marcong95 #7 知乎刷多了,鬼使神差地把 h5zhifu 打成了 h5zhihu,我向知乎道歉?
kanbi
    9

kanbi   11 小时 32 分钟前

对接第三方黑产网站,第三方个人三无网站,,,这种大部分已跑路为生吧,前端是模板,,后端是某个 cms,靠不靠谱看心情
zoharSoul
    10

zoharSoul   2 小时 15 分钟前

微信小微商户, 他们给你搞定了线下的门头照片罢了

SED使用心得

SED使用心得

1.在指定行的上一行或下一行添加一行
记录下sed在*个匹配结果前添加新行的尝试过程
test.txt原文本内容

table demo.demo
TABLE demo.demo
1
2
预期达成效果:

table test.test
table demo.demo
TABLE demo.demo

以下为尝试的四种方法:

$row=`sed -n -e ‘/^TABLE/I=’ test.txt|sed -n “1”p` && sed “${row}i\table test.test” test.txt

sed “/^table/Ii\test.test” test.txt

sed “0,/^TABLE/Ii\table test.test” test.txt

sed “0,/^TABLE/Is//table test.test\ntable/” test.txt

1、3、4都达到了预期效果,2则是把每一个以table开头的行上都新增一行。*终方案我选择了4,因为1、3方案在遇到不存在你要匹配的行时,会在文件的每一行上都添加你想添加的内容。。。
以下为本次摸索的理解:

1.以上命令都只是展示修改效果,不对文件进行实际修改,需要修改的话要在sed后添加-i,*个命令只需在*后一个sed添加 -i
2.I表示忽略大小写
3.i表示在匹配行的前面添加新行,匹配行后添加新行为a
4.\可有可无,写上可区分动作表示a/i
5.0,代表第几个匹配结果
6.第4种方法其实是用替换,里面的s是替换的意思,这里把匹配到的行替换成了table test.test \n(换行符)

后续。。。
使用中发现了第4种方式的缺陷,当正则表达式从table变成了TABLE.*edit_date这种更模糊的匹配时会把新增行的下一行的正则匹配部分替换掉。。。

sed “0,/^TABLE.*edit_date/Is//table test.test\ntable/” test.txt
1
解决方案:

row=`sed -n “/^table/I=” test.txt|sed -n “1”p` && test “$row” != ” && sed “${row}i\table test.test” test.txt || echo no
1
中间添加的test “$row” != ‘’ 用来判断匹配的行号是否不为空,&&执行不为空的情况,||执行为空的情况,类似if else。

爬虫处理payload请求

爬虫处理payload请求

在爬取网站的时候经常遇到post请求,对于一般的form_data参数的就很好处理,是不是遇到过下面的这种payload形式呢?

%title插图%num

像这种payload类型的网站,需要由特定的处理方式处理。

处理方法:

import requests
import json
headers = {
“Content-Type”:”application/json;charset=UTF-8″,
“User-Agent”:”Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36″,
}
payload_data = {“token”: “”, “pn”: 20, “rn”: 20, “sdt”: “”, “edt”: “”, “inc_wd”: “”, “exc_wd”: “”, “fields”: “title”,
“cnum”: “001”, “sort”: “{\”infodatepx\”:\”0\”}”, “ssort”: “title”, “cl”: 200, “terminal”: “”,
“condition”: [{“fieldName”: “categorynum”, “likeType”: 2, “equal”: “003004002”}], “time”: [
{“fieldName”: “infodatepx”, “startTime”: “2021-01-07 00:00:00”,
“endTime”: “2021-04-07 23:59:59”}], “highlights”: “title”, “accuracy”: “”, “noParticiple”: “1”,
“isBusiness”: “1”}
url = “http://jsggzy.jszwfw.gov.cn/inteligentsearch/rest/inteligentSearch/getFullTextData”
resp = requests.post(url,headers=headers,data=json.dumps(payload_data))

与form_data的不同点是用json.dumps封装了一下

需要注意的点:如果是json格式,要在headers里加上”Content-Type”:”application/json;charset=UTF-8″

还有一种处理方法。将payload_data改写成”token=”\npn=20\nrn=20\nsd=”  这种形式,即参数之间加上\n,不需要json.dumps也能解决问题。

清洗之缺失值处理—删除

清洗之缺失值处理—删除

一、数据清洗
1、目的:让数据更加完整合理
2、为什么:数据可能存在缺失数据或异常数据,清洗就是对缺失的数据和异常的数据进行处理。
3、定义:数据清洗是通过删除,转换器,组合等方法,处理数据中的异常样本,为数据建模提供优质的数据的过程
4、包括:
缺失值处理
异常值处理
一.1、缺失值处理
1、缺失的原因:
人为疏忽、机器故障
人为刻意隐瞒部分数据
数据本身不存在
系统实时性高
历史局限性导致数据收集不完整
2、数据缺失类型:
完全随机缺失
随机缺失
非随机缺失
3、缺失值存在的形式:
np:nan 、” “、空格
4、缺失值处理的方式:
删除
填充
不处理
4.1 删除:
适用范围:数据量大,数据缺失值少的数据
方法:80%法则,缺失值超过总量20%,删除该属性
优点:操作简单
缺点:破坏数据的历史完整性
Python中用到的库:pandas

import pandas as pd
data=pd. read_csv(‘. /data02.csv’)
# 读取数据 (‘数据文件的路径’)
data. head() #读取数据前五行
print(type(data)) #查看数据类型
data. describe() # 查看详细信息 平均值,*大小值
#进行绘画展示
import missingno #导入库
import matplotlib. pyplot as plt #导入库
missingno. bar(data) #图画展示
#80%删除
drop_data=data. drop(axis=1,how=any,thresh=8000)
# axis=1 按列删除 0 :按行删除
#thresh:完整度

 

musdb18数据集的预处理

musdb18数据集的预处理

 

 

win10下处理musdb18数据集

下载musdb18的链接点我

想要将musdb18里的.stem.mp4文件批量处理成wav文件?首先,你需要安装musdb包

 

pip install musdb

1

接着,在命令行里运行下面的指令

 

musdbconvert <your_DIR> <target_DIR>

#例如 musdbconvert musdb18 musdb18wav

1

2

不过我在用这条命令处理musdb18数据集时遇到了问题:

 

TypeError: Invalid file: WindowsPath(‘etc/musdb18_dev_wav/train/A Classic Education – NightOwl/mixture.wav’)

1

现贡献我的解决方法如下:

粘贴musdb_convert代码 点我到一个新建的python文件中比如test.py,命令行输入

 

test.py musdb18 musdb18wav

1

可以得到形如酱紫的musdb18wav文件结构

%title插图%num

恭喜你成功啦!接下来就可以进行声源分离啦!

 

关于数字图像处理中的几种滤波算法

关于数字图像处理中的几种滤波算法

 

 

关于数字图像处理中的几种滤波算法

// An highlighted block

# -*- coding: utf-8 -*-

“””

Created on 2021/3/24 18:40

 

# @Author  : desires19

“””

import numpy as np

import matplotlib.pyplot as plt

import sys

from PIL import Image

 

 

def loading_image(path):

image = Image.open(path)

image = np.array(image)

r = image[:, :, 0]

g = image[:, :, 1]

b = image[:, :, 2]

# print(“loading image finish!”)

return r, g, b

 

 

”’图片填充”’

 

 

def padding(c):

size = c.shape

re_size = (size[0] + 2, size[1] + 2)

row = 0  # 行

col = 0  # 列

l = [[0 for i in range(re_size[1])] for i in range(re_size[0])]

 

while col < re_size[0]:  # 列 801

while row < re_size[1]:  # 行 642

if col == 0 or row == 0 or col == (re_size[0] – 1) or row == (re_size[1] – 1):

l[col][row] = 0

else:

l[col][row] = c[col – 1][row – 1]

row += 1

col += 1

row = 0

re = np.asarray(l)

re = re.reshape(re_size)

# print(“padding finish!”)

return re

 

 

def Fuzzy(c, filter):

f_size = filter.shape

c_size = c.shape

# 定义卷积上下左右边界

left = 0

right = f_size[0] – 1

top = 0

bottom = f_size[1] – 1

l = []

r = 0

f_row = 0  # 滤波器的行

f_col = 0  # 滤波器的列

while bottom < c_size[0]:

while right < int(c_size[1]):

”’大循环”’

while f_col < f_size[0]:

while f_row < f_size[1]:

”’小循环”’

r = r + filter[f_col][f_row] * c[top + f_col][left + f_row]

if r < 0:

r = 0

if r > 255:

r = 255

# print(r)

f_row += 1

f_col += 1

f_row = 0

l.append(int(r + 0.5))

r = 0

right += 1

left += 1

f_row = 0  # 重新归零进行下一次卷积运算

f_col = 0

bottom += 1

top += 1

right = f_size[0] – 1

left = 0

re = np.asarray(l)

re = re.reshape(c_size[0] – 2, c_size[1] – 2)

return re

 

 

def Mid(c, n):

c_size = c.shape

# 定义卷积上下左右边界

left = 0

right = n – 1

top = 0

bottom = n – 1

l = []

r = []

f_row = 0  # 滤波器的行

f_col = 0  # 滤波器的列

while bottom < c_size[0]:

while right < c_size[1]:

”’大循环”’

while f_col < n:

while f_row < n:

”’小循环”’

r.append(c[top + f_col][left + f_row])

# print(r)

f_row += 1

f_col += 1

f_row = 0

r.sort()

l.append(r[int((pow(n, 2) / 2))])

r = []

right += 1

left += 1

f_row = 0  # 重新归零进行下一次卷积运算

f_col = 0

bottom += 1

top += 1

right = n – 1

left = 0

re = np.asarray(l)

re = re.reshape(c_size[0] – 2, c_size[1] – 2)

return re

 

 

”’均衡化”’

 

 

def Equalization(p):

count = 0

x = []

y = []

while count < 256:

x.append(count)

y.append(0)

count += 1

ls = [x, y]

# print(“init finish!”)

y_1 = ls[1]

size = p.shape

row = 0

col = 0

count = 0

re = []

while col < size[0]:

while row < size[1]:

y_1[p[col][row]] += 1

row += 1

col += 1

row = 0

x = np.array(ls[0])

y_0 = np.array(ls[1])

y = y_0 / (size[0] * size[1])  # 归一化处理

 

”’计算累计直方图”’

num = 0

dy = []  # 累计直方数组

for n in y:

num = num + n

dy.append(num)

”’取整处理”’

sk = []  # 转化后

for n in dy:

num_1 = int(255 * n + 0.5)  # 四舍五入

sk.append(num_1)

”’处理映射关系”’

col = 0  # 归零处理,重新循环,覆盖图像

row = 0

while col < size[0]:  # 列

while row < size[1]:  # 行

num_2 = p[col][row]

re.append(sk[num_2])  # 进行映射

row += 1

col += 1

row = 0

im_re = np.array(re)

im_re = im_re.reshape(size)

return im_re

 

 

def image_show(r, g, b, image_name):

new_image = np.stack((r, g, b), axis=2)

# print(new_image.shape)

plt.rcParams[‘savefig.dip’] = 400  # 图片像素

plt.rcParams[‘figure.dip’] = 300  # 分辨率

plt.imshow(new_image)  # 显示图片

plt.axis(‘off’)  # 不显示坐标轴

plt.savefig(image_name, bbox_inches=’tight’)

 

 

def switch(state):

if state == 1:

”’高斯滤波器”’

Gauss = np.asarray([[1, 2, 1], [2, 4, 2], [1, 2, 1]]) / 16

 

g_r = Fuzzy(p_r, Gauss)

g_g = Fuzzy(p_g, Gauss)

g_b = Fuzzy(p_g, Gauss)

image_show(g_r, g_g, g_b, ‘E:\Documents\python_work\dpi\output\\gauss_1.jpg’)

elif state == 2:

”’均值滤波器”’

Average = np.asarray([[1, 1, 1], [1, 1, 1], [1, 1, 1]]) / 9

a_r = Fuzzy(p_r, Average)

a_g = Fuzzy(p_g, Average)

a_b = Fuzzy(p_g, Average)

image_show(a_r, a_g, a_b, ‘E:\Documents\python_work\dpi\output\\average_2.jpg’)

 

elif state == 3:

”’中值滤波器”’

m_r = Mid(p_r, 3)

m_g = Mid(p_g, 3)

m_b = Mid(p_b, 3)

image_show(m_r, m_g, m_b, ‘E:\Documents\python_work\dpi\output\\mid_3.jpg’)

 

elif state == 4:

”’锐化滤波器”’

H_1 = np.asarray([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]])

s_r = Fuzzy(p_r, H_1)

s_g = Fuzzy(p_g, H_1)

s_b = Fuzzy(p_b, H_1)

image_show(s_r, s_g, s_b, ‘E:\Documents\python_work\dpi\output\\strong_4.jpg’)

elif state == 0:

”’均衡化处理”’

e_r = Equalization(p_r)

e_g = Equalization(p_g)

e_b = Equalization(p_b)

image_show(e_r, e_g, e_b, ‘E:\Documents\python_work\dpi\output\\transform_0.jpg’)

 

elif state == 5:

sys.exit()

def init():

print(“0为均衡化处理”)

print(“1为高斯滤波”)

print(“2为均值滤波”)

print(“3为中值滤波”)

print(“4为锐化滤波”)

print(“5为退出程序”)

key = input(“请输入您想要进行的操作 “)

return key

 

 

if __name__ == ‘__main__’:

im_path = ‘./example.jpg’

 

r, g, b = loading_image(im_path)

p_r = padding(r)

p_g = padding(g)

p_b = padding(b)

”’

0为均衡化处理

1为高斯滤波

2为均值滤波

3为中值滤波

4为锐化滤波

 

”’

while(1):

k = eval(init())

switch(k)

 

 

/

 

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速