我有数据框
df = pd.DataFrame({
'colA':['?',2,3,4,'?'],
'colB':[1,2,'?',3,4],
'colC':['?',2,3,4,5]
})
Run Code Online (Sandbox Code Playgroud)
我想计算'?'每列中的数量并返回以下输出 -
colA - 2
colB - 1
colC - 1
Run Code Online (Sandbox Code Playgroud)
有没有办法立即返回此输出。现在我知道怎么做的唯一方法是为每列编写一个 for 循环。
鉴于以下数据框:
df = pd.DataFrame([{'Name': 'Chris', 'Item Purchased': 'Sponge', 'Cost': 22.50},
{'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': 2.50},
{'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': 5.00}],
index=['Store 1', 'Store 1', 'Store 2'])
Run Code Online (Sandbox Code Playgroud)
如何编写脚本以生成以下输出:
[('Store 1', 22.5), ('Store 1', 2.5), ('Store 2', 5.0)]
Run Code Online (Sandbox Code Playgroud) 有没有更简单的方法在 R 中格式化货币。以下代码生成一个小表 -
library(dplyr)
set.seed(1)
data = sample(5000:1500000,10, replace = F)
data = tibble(data)
data %>% mutate(currency = scales::dollar(data))
data currency
<int> <chr>
1 457736 $457,736
2 129412 $129,412
3 1490098 $1,490,098
4 861017 $861,017
5 30172 $30,172
6 1348337 $1,348,337
7 1446261 $1,446,261
8 645774 $645,774
9 543190 $543,190
10 1323948 $1,323,948
Run Code Online (Sandbox Code Playgroud)
我想生成一个新列来格式化数据,以便 -
$457,736 will be $457K
$1,490,098 will be $1.5M
$30,172 will be $30K
Run Code Online (Sandbox Code Playgroud) mtcars作为例子使用。我想编写一个创建函数count和pct列,如下面-
library(tidyverse)
mtcars %>%
group_by(cyl) %>%
summarise(count = n()) %>%
ungroup() %>%
mutate(cyl_pct = count/sum(count))
Run Code Online (Sandbox Code Playgroud)
这会产生输出 -
# A tibble: 3 x 3
cyl count mpg_pct
<dbl> <int> <dbl>
1 4 11 0.344
2 6 7 0.219
3 8 14 0.438
Run Code Online (Sandbox Code Playgroud)
但是,我想创建一个函数,在该函数中我可以将group_by列指定为任何列,并且该mutate列将命名groub_by为_pct. 因此,如果我想使用disp,disp将是我的group_by变量,并且该函数将改变一disp_pct列。
下面的代码创建一个散点图,并使用 theme_bw 和背景中的网格线 -
data = mtcars
data %>%
select(mpg, disp) %>%
ggplot(aes(disp, mpg))+
geom_point(size = 3)+
theme_bw()
Run Code Online (Sandbox Code Playgroud)
我还想在图表上添加一些垂直和水平线。然而,从目前的网格线来看,它看起来有点繁忙。有没有办法进一步降低网格线的可见性。我不想完全删除它们。
我有一个导入 R 的评论列表。以下是一些评论如何导入的示例 -
9. This is some string number 1
9This is some string number 2
9 This is some string number 3
9-This is some string number 4
67-68 This is some string number 5
Run Code Online (Sandbox Code Playgroud)
注意我将评论保存到一个名为 some_str
我的目标是在行首打印出没有数字的每一行。像这样 -
This is some string number 1
This is some string number 2
This is some string number 3
This is some string number 4
This is some string number 5
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码来处理9. This is some string number 1上面的第一行 …