# 翻译|给数据科学家的10个提示和技巧Vol.2

## 2 R

### 2.1 基于列名获得对应行的值

```set.seed(5)
df<-as.data.frame(matrix(sample(1:100,12),ncol=3))
df\$Selection<-c("V1","V3","V2","V3")
df

V1 V2 V3 Selection
1 66 41 19        V1
2 57 85  3        V3
3 79 94 38        V2
4 75 71 58        V3
```
```df\$Value<-as.numeric(df[cbind(seq_len(nrow(df)), match(df\$Selection,names(df)))])
df

V1 V2 V3 Selection Value
1 66 41 19        V1    66
2 57 85  3        V3     3
3 79 94 38        V2    94
4 75 71 58        V3    58
```

### 2.2 创建时间属性

• Year
• Month
• Weekday
• Hour
• Minute
• Week of the year
• Quarter

• 一个名为isWeekend的布尔值，周末为1，其他为0。
• 一天中的时间段(如上午、下午、晚上)。
```library(tidyverse)
set.seed(5)
df<- tibble(my_date = lubridate::as_datetime( runif(10, 1530000000, 1577739600)))
df%>%mutate(Year = format(my_date, '%Y'), Month_Number = as.factor(format(my_date, '%m')),
Weekday = as.factor(weekdays(my_date)), Hour =as.factor(format(my_date, '%H')),
Minute =as.factor(format(my_date, '%M')), Week =(format(my_date, '%W')),
Quarter = lubridate::quarter(my_date, with_year = T))
```

## 3 Python

### 3.1 从Jupyter创建文件

```%%writefile myfile.py
def my_function():
print("Hello from a function")
```

```%%writefile -a myfile.py
my_function()
```

### 3.2 基于列名获得对应行的值

```import pandas as pd
df = pd.DataFrame.from_dict({"V1": [66, 57, 79,75], "V2": [41,85,94,71],
"V3":[19,3,38,58], "Selection":['V1','V3', 'V2','V3']})
df

V1  V2  V3 Selection
0  66  41  19        V1
1  57  85   3        V3
2  79  94  38        V2
3  75  71  58        V3
```

```df['Value'] = df.lookup(df.index, df.Selection)
df

V1  V2  V3 Selection  Value
0  66  41  19        V1     66
1  57  85   3        V3      3
2  79  94  38        V2     94
3  75  71  58        V3     58
```

### 3.3 从字典中创建词云

```import matplotlib.pyplot as plt
from wordcloud import WordCloud
# assume that this is the dictionary, feel free to change it
word_could_dict = {'Git':100, 'GitHub':100, 'push':50, 'pull':10, 'commit':80,
'add':30, 'diff':10, 'mv':5, 'log':8, 'branch':30, 'checkout':25}
wordcloud = WordCloud(width = 1000, height = 500).generate_from_frequencies(word_could_dict)
plt.figure(figsize=(15,8))
plt.imshow(wordcloud)
```

### 3.4 检查pandas数据框的列是否包含一个特定的值

```import pandas as pd
df = pd.DataFrame({"A"  : ["a", "b", "c"], "B" : ["d", "e", "f"], "C" : ["x", "y" , "a"]})
df

A  B  C
0  a  d  x
1  b  e  y
2  c  f  a
```

```(df=='a').any()

A     True
B    False
C     True
```

### 3.5 将多个pandas数据框保存到单个Excel文件

```# create the xlswriter and give a name to the final excel
# for example Final.xlsx

writer = pd.ExcelWriter('Final.xlsx', engine='xlsxwriter')

# it is convenient to store the pandas dataframes in a
# dictionary, where the key is the worksheet name that you want to give
# and the value is the data frame
df_dict = {'My_First_Tab': df1, 'My_Second_Tab': df2,
'My_Third_Tab':df3, 'My_Forth_Tab':df4}
#iterate over the data frame of dictionaries
for my_sheet, dframe in  df_dict.items():
dframe.to_excel(writer, sheet_name = my_sheet, index=False)

# finaly you have to save the writer
# and the Final.xlsx has been created
writer.save()
```

### 4.1 谷歌文档和电子表格的版本管理

• 打开谷歌文档。
• 在顶部，点击文件- >版本历史。

## 5 Linux

### 5.1 在Linux复制一个文件夹

```cp -R /some/dir/ /some/other/dir/
```
• 如果/some/other/dir/不存在，它将被创建。
• -R表示递归复制目录。也可以使用-r，因为它不区分大小写。

### 参考资料

[1]

10 Tips And Tricks For Data Scientists Vol.2: https://predictivehacks.com/10-tips-and-tricks-for-data-scientists-vol-2/

0 条评论

• ### 翻译｜给数据科学家的10个提示和技巧Vol.1

原博客简介：Predictive Hacks是与数据科学相关的在线资源中心。该博客是由一群数据科学家运营，专注于讲解在各种领域如何运用大数据技术（从机器学习和人...

• ### 给数据科学家的10个提示和技巧Vol.4

原文：10 Tips And Tricks For Data Scientists Vol.4[1]

• ### 给数据科学家的10个提示和技巧Vol.3

原文：10 Tips And Tricks For Data Scientists Vol.3[1]

• ### 循环神经网络的增强方法：注意力机制以及更多

AI 科技评论按：一提起 RNN，我们最容易想到的实现就是 LSTM + attention。LSTM 作为经典的网络结构可谓是老当益壮，而另一方面注意力机制过...

• ### GitHub 热点速览 Vol.35：Let's Go，Rust 大放异彩

以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖（简称 HN 热帖），选项标准：新发布 | 实用...

• ### 2019腾讯犀牛鸟精英人才培养计划课题介绍（七）—自然语言处理

? “ 精英人才培养计划是一项校企联合人才培养项目，入选学生将受到业界顶尖技术团队与高校导师的联合指导及培养。培养期间，学生将获得3个月以上到访腾讯开展科研访...

• ### 提高数据科学家讲故事能力的5个小技巧

讲故事是一门艺术。随着时间的推移，讲故事的技巧、方法和工具发生了变化，但主要概念和目标保持不变，即有效地吸引你的观众，使他们能够真正地与你所说的联系起来。

• ### 【系列文章】面向自动驾驶的三维点云处理与学习（6）-完结篇

标题：3D Point Cloud Processing and Learning for Autonomous Driving

• ### 深度学习碰上古文献，西南大学提出基于CNN的古彝文识别方法

摘要：作为世界六大古文字之一的古彝文记录下几千年来人类发展历史。针对古彝文的识别能够将这些珍贵文献材料转换为电子文档，便于保存和传播。由于历史发展，区域限制等多...

• ### 人脑启发AI设计：让神经网络统一翻译语音和文本

能够统一地理解语音和文本，是人类能够形成通用语言能力的重要原因。那么，人工智能是否也能如此？最近，来自字节跳动和UIUC的研究人员借鉴这一思路，设计了一个跨模态...

• ### Stanford NLP 解读 ACL 2018 论文——用于调试 NLP 模型的语义等价对立规则

AI 科技评论按：近日，斯坦福自然语言处理小组发布了一篇博文，重点讨论了由 Ribeiro、Marco Tulio、Sameer Singh 和 Carlos ...

• ### 年终收藏! 一文看尽2020年度最「出圈」AI论文合集

疫情之下，通过各种方式，全球的研究者继续积极合作，发表了许许多多有影响力的成果——特别是在人工智能领域。

• ### 授权首发：徐亦达老师精选论文集和课件下载

徐亦达老师和他的团队精选了70篇论文，其中包括了非参贝叶斯算法的研究和应用，行列式点过程，3D计算机视觉，带约束下几何优化，非负矩阵分解，视频跟踪，GAN的文字...

• ### 【系列文章】面向自动驾驶的三维点云处理与学习（2）

标题：3D Point Cloud Processing and Learning for Autonomous Driving

• ### 机器学习&人工智能博文链接汇总

? 争取每天更新 ? 126 ? ---- 蜗牛的历程： [入门问题] [机器学习] [聊天机器人] [好玩儿的人工智能应用实例] [Tensor...

• ### 机器翻译简史：八十多年来，人类就是要再造一座通天塔

《圣经》中记载，人类曾经联合起来兴建能通往天堂的高塔，为了阻止人类的计划，上帝让人类说不同的语言，使人类相互之间不能沟通，计划因此失败，人类自此各散东西。

• ### 李航NSR论文：深度学习NLP的现有优势与未来挑战

选自NSR 机器之心编译 参与：路雪、黄小天 近日，AI 技术大牛李航博士（已加入今日头条）在《国家科学评论》（National Science Review，...

• ### 业界 | 搜狗机器翻译团队获得 WMT 2017 中英机器翻译冠军

搜狗语音交互技术中心 机器之心报道 每年的第三季度都是机器学习相关的顶级学术会议密集召开的时期，今年也不例外。其中，作为自然语言处理领域顶级国际会议之一的 EM...

• ### 独家 | 每个业务分析专家应具备的9个关键技能

本文为大家介绍了每个业务分析专家应具备的9个关键技能，并对每个技能做了简单的介绍。