我正在尝试使用Python循环遍历数据帧列,其格式如下:
Town 1, AL, USA
Town 2, AL, USA
Town 3, AK, USA
Town 4, CA, USA
Town 5, DE, USA
Town 6, MI, USA
Run Code Online (Sandbox Code Playgroud)
我一直在尝试split()使用原始数据框(包括犯罪描述和URL列)和自己的列来使用该方法,作为数据框和Series对象.这些对象都没有可用的方法split().
所需的输出将是STATE缩写的另一列,所以我理解我正在尝试找到等效的a df.split(', ')并从该分割中追加系列或数据帧的第二个[1]索引.(如果我弄错了,请纠正我).
我该怎么做呢?
我知道还有另一个问题浮出水面,但是我找不到它.
我想time_1 <- list.files()在R中,后来当我time_2 <- list.files()知道哪些是新的,哪些,如果他们之前在那里,已经更新了time_1.
有谁知道这个功能的名称或如何执行任务?
(最终,我将检查这些文件的时间戳,但这可能超出了这个问题.)
> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Amazon Linux AMI 2016.09
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forecast_8.0 tidyr_0.6.1 highcharter_0.5.0 DT_0.2 dplyr_0.5.0 lubridate_1.6.0 jsonlite_1.3 shinythemes_1.1.1
[9] ggthemes_3.4.0 ggfortify_0.4.1 ggplot2_2.2.1 shiny_1.0.1
loaded via a namespace (and not attached): …Run Code Online (Sandbox Code Playgroud) 我敢肯定,目前还没有找到一个很好的理由,但是...为什么dplyr会强制字符转换为因素,即使您明确地强制转换为字符呢?
> letters
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
> typeof(letters)
[1] "character"
> data.frame(
+ colA = as.character(letters),
+ colB = as.character(LETTERS)
+ ) %>%
+ glimpse
Observations: 26
Variables: 2
$ colA <fct> a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, …Run Code Online (Sandbox Code Playgroud) 我试图更好地理解Python中的列表理解.我完成了对代码战的在线挑战,其中包含一个相当不优雅的解决方案,如下所示.
挑战是:
我(不优雅)的解决方案是:
def find_outlier(integers):
o = []
e = []
for i in integers:
if i % 2 == 0:
e.append(i)
else:
o.append(i)
# use sums to return int type
if len(o) == 1:
return sum(o)
else:
return sum(e)
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但似乎是相当蛮力.我认为用占位符列表开始(大多数)函数o并且e非常"像noob一样" 我错了吗?
我希望更好地理解为什么这个解决方案适用于奇数列表,但是在偶数列表中失败,以便更好地理解列表理解:
def find_outlier(integers):
if [x for x in integers if x % 2 == 0]:
return [x for x in integers if x % 2 == 0]
elif [x for x in …Run Code Online (Sandbox Code Playgroud) 假设我运行一个BeautifulSoup过滤器并获得一些unicode u'96.9%',我只想将数值(和十进制)打印到文件中.
制作一个能够将str(u'96.9%')%符号分开并仅保留[0]第一部分(96.9)的小函数似乎非常简单,但这是最有效/最快的方法吗?
float(str(c).split("%")[0])
Out[227]: 96.9
Run Code Online (Sandbox Code Playgroud)