分类 未分类 下的文章

有这么几个目录,但似乎只有第三个起作用.

C:\Users\username\pip.ini
C:\Users\username\pip\pip.ini
%APPDATA%\pip\pip.ini

pip.ini内容

[global]
index-url = https://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com

中国的名牌学校出来的学生,逻辑能力很强;美国名牌学校出来的学生,创造能力很强。但学校都不能培育的,就是预测能力。预测能力与逻辑和创造无关,所以从学校退学或者小学没毕业都可以做成功的创业者。预测能力与信心或者叫偏执有关。对预测结果越有信心,越能执行,别人看起来就越偏执。再好的预测能力也不能100%准确,即使这次预测准确,好运气和坏运气会接连来袭。所以经商者都喜欢搞搞风水、拜拜财神。

Future,期货合约, 规定未来购买价格, 必买必卖.
Option, 期权合约, 规定未来购买价格, 买方付保证金换来选择权, 可买必卖.
Forward, 远期合约, 与期货区别是期货是场内标准化的, Forward是场外非标准化的.

import pandas
import numpy

# 读excel
main():
    xls = pandas.ExcelFile(ordersFile)
    df= pandas.read_excel(xls, 'sheet1') # 读取dataframe

# 写excel
    with pandas.ExcelWriter('./订单清洗后数据.xlsx') as writer:
        df.to_excel(writer, sheet_name='sheet1',  index=None)  #默认会写入index, 建议不写入index

# 根据3列后数据去重
    df = df.drop_duplicates(sheet.columns[3:])

# 删除0列和指定名称列
    df = df.drop([df.columns[0], '文件名'], axis=1)

# 返回某一列(sheet名)的哪些行包含指定内容
    df.Sheet名.str.contains('作废')

# 计算True的数量
    numpy.sum(dfall['Sheet名'].str.contains('作废')!=0)

# 删除包含指定字符的行
   dfall[ ~dfall['Sheet名'].str.contains('作废') ]

# 插入列
   df.insert(index数值表示的位置, '列名', 数组)

# 直接数组方式插入
   df['新列名'] = [1,2,3,4]

# 直接数组方式修改
   df['旧列名'] = [1,2,3,4]

# 遍历并修改行内数值
for i in range(len(df)):
    index = df.index[i] #实际index和数组序号不同
    df.loc[index, '某列名'] = '新数值' + df.某某列名[index] # 必须使用loc修改,但可以直接使用"."读取

# 列名相同的简单合并
    df = df.append(otherdf)

# 相同内容填充数组
arr = numpy.full((3), 'a') # 填充一元数组
arr = numpy.full((3,2), 'a') # 填充二元数组

# 将第1列NaN替换掉的四种方式, 有时候会报错`A value is trying to be set on a copy of a slice from a DataFrame`, 有时候不会, 还不知道怎么解决.
df[1].fillna(0, inplace=True)
df[['a', 'b']] = df[['a','b']].fillna(value=0)
df.fillna({'a':0,'b':0})
df=df.fillna({'a':0,'b':0})

# 连接多个df后, index重复需要做index重置
df=df.reset_index(drop=True)

# 修改指定的columns名称
df.rename(columns={'$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True) 

数据合并

数据合并比较多样,看这儿https://www.cnblogs.com/guxh/p/9451532.html

使用第2行作为header(从0起算,序号为1)

sheet = pandas.read_excel(fileName, sheetName, header=1)

我们在用EcountERP, 不过感觉应该所有ERP对于下面的问题应该都差不多.
ERP中的品目管理是所有其他管理的基础. 所有品目管理最主要的就是要保证品目唯一性. 然而产品需求的快速改变和迭代开发导致品目也在不断迭代更新. 此时旧的代码需要停用,然后增加新的代码. 然而ERP原生没有版本管理, 增加的新代码也看不出和老代码有什么关联, 随着品目更新,停用的代码越来越多, 翻查新代码也是个问题.
ERP应该结合软件代码版本管理的思想, 不说分布式Git了, 集中式SVN的思想多少得有点儿吧, 这样代码+版本号来管理品目. 具体来说:

  1. 每次品目更改执行commit操作, 说明更改内容并自动升级版本号
  2. 可以用x.y.z的版本方式人工命名,也可以生成像Git一样的自动版本号
  3. 从品目到往来单位, BOM版本都可以通过版本管理来做,甚至订单模板等等也可以这么做.
  4. 甚至可以进行自动化单元测试, 以查看定义的品目有没有问题, 原材料组合成的BOM有没有遗漏, 有没有使用旧的版本等等
    总结来说, 通过版本管理, 甚至自动化测试, ERP进一步减轻人工管理的负担, 专注于新物料的开发, 与产品开发能够同步.

另外,不知道有没有可能基于文件系统的分布式ERP

  1. 可以基于Git, 但又有更细致的针对不同目录的权限管理
  2. 可以使用Excel或者其他本地数据库进行存储
  3. 可以使用特定的后缀名或本地软件, 便捷的UI以方便普通员工操作

IFTTT

这个应该是最方便,然而在魅族手机上成功, 在华为手机上却失败了. 原因是IFTTT在华为手机上只会打开邮箱界面并填充邮件内容,并无法自动发送出去.

Tasker

Tasker比较灵活些, 可以接Java和Javascript的代码, 不过JS代码运行环境是内置的WebView, 并不是Node. 也能发送EMail. 然而在华为手机上遇到了同样的问题, 无法继续.

Termux

Termux搭配Termux:API可以读取系统短信,然而, 根据Termux最新的官方消息, 谷歌禁止这么做, 否则不让上架, 于是Termux取消了这个接口 ,以及一系列和发送SMS相关的接口https://wiki.termux.com/index.php?search=sms&go=Go

短信助手

在酷安上下载的这个APP(也叫短信转发)终于解决了问题. 它还可以转发为手机短信. SMTP信息在APP里面填写,这就不依赖外部应用了. 然而有个小问题是, 不能定义邮件标题为短信内容,或者转发短信内容和收件人.

#查看磁盘占用
df -h
# 查看当前目录磁盘占用
du -h --max-depth=1
# 查看不同文件磁盘占用(含隐藏文件)
ls -alh

# 清理nohup.out文件,保留前10000条
# 使用locate命令定位nohup.out
log=`tail -n 10000 nohup.out`; 
echo "$log" > nohup.out 

# 清理tomcat的catalina.out文件,保留前10000条
# catalina.out位于: /opt/apache-tomcat-8.5.3/logs
log=`tail -n 10000 catalina.out`; 
echo "$log" > catalina.out 

先急速看了得到版。

这里面讲了个智能商业的新概念,称之为3.0版本商业模式。不得不说,中国人还是特别善于经营新概念的。我们且看看前两个版本:1.0版就是传统商业:工厂生产、线下渠道、门店购买;2.0版就是互联网+,即所谓的电商,工厂生产、线上渠道、线上购买。那3.0又是个什么意思?

说是3个子概念。同时说说我的看法和认为其中的问题。

1.在线化。什么作用呢?从产品上,和用户高效实时互动反馈,这样对产品进一步提供改进意见和方法。从渠道上和广告上,做到精准触达用户。

我的质疑:首先,用户的反馈无疑是很有价值的,他们是用钞票评价产品的好坏。然而,做产品久了都知道,用户的话是不能完全当真的。也就是福特老爷子100年前提出来的:你问用户要什么交通工具,没见过汽车的用户只会说要一匹更快的马。在线化可以为产品方向提供灵感,但不能解决对产品的洞察,最终还是要靠产品设计者自己。网上有一百万个用户反馈,也抵不过一个Elon Musk。

其次,渠道和广告上精准触达用户,现在已经能够做到了。然而,完全从自己产品用户去触达新的目标用户是不现实的,否则还要广告干嘛。自己产品用户之外的用户,自己当然无法直接触达,借助广告渠道的所谓精准触达,一方面有价格的问题,是不是比传统的广告更便宜?另一方面有精准性无法验证的问题,由于隐私的关系,广告主不可能知道自己的广告具体给了谁,是不是精准、有多少效果就无从谈起。

2.智能化。所有的活给机器干,并且以前机器干不了的,现在也能干。以前自动做批量的、一样的事情,现在还能根据大数据、人工智能做一些个性化调整、推荐、决策。

我的质疑:看了整篇介绍,我更愿意给一个实在一些的名字:自动化。所谓智能化只不过是自动化换了个新鲜的名字,实质上都是减少人工参与、尽可能让机器自动化处理。并且,现在“智能”漫天飞的情况下,能播放或者识别下语音、能用手机控制、能指纹人脸识别什么的都叫智能化,而已经脱离了“减少人工参与、机器自动处理”进而提升生产效率的本意,智能变成了高级玩具而已。

抛开这种为了智能而智能的不良风气,相比以前,自动化现在确实有了新的武器:人工智能,并且更加深入新的领域:自动化学习和决策,姑且叫做自动化2.0。我们确实应该在有条件的时候去拿起2.0的新武器,然而问题是,我们很多时候连1.0,也就是非人工智能的自动化都没有做好,遑论2.0乎。

3.网络化。定义是在“需求端形成网络协同效应”。然后举了滴滴和Uber的反例。举了淘宝作为正面例子。

我的质疑:这个网络化定义怎么看都有些当年乐视提出的“生态化反”的意思。抛开已经挂掉的乐视不说,首先,无论滴滴、UBer还是淘宝,从其规模上来说,对广大中小企业都缺乏参考价值。其次,滴滴和Uber这两个例子正好说明了“网络化”这一点的行业局限性,也就是说“网络化”是很挑行业的,挑的都是用户愿意付诸时间的平台化、赢家通吃的行业。总之,这一点参考价值实在是不大。广大中小企业只能做这些平台企业网络化中的一个点而已,妄图成为一个平台、一个“体”结果是99.999%死的很惨。

总结我从中得到的启发:1. 小心智能的陷阱之外,自动化是毋庸置疑、必须推进的;2. 所有数据在线有其价值,但应考虑其投入产出比,不能认为用户反馈可以替代自己的无能,从而解决一切问题;3. 网络化可能是一个生态化反的神话,应谨慎处之,同时应看到新的平台化趋势和风向,在适宜的时机进入与其共同快速发展。

PS:我认为更有可能看到未来趋势的,是淘宝系以外的企业,可能是拼多多、抖音这样发展地如日中天的企业,也可能是我们还没有看到的小不点企业。孙子曰:古之所谓善战者,胜于易胜者也。故善战者之胜也,无智名,无勇功。所以淘宝之胜,不在现在而在过去。今日能否再胜,未可知也。