Преобразование входной строки: Unlist?

Другой вариант - использовать функцию cor.test вместо lm:

> x <- c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
> y <- c( 2.6,  3.1,  2.5,  5.0,  3.6,  4.0,  5.2,  2.8,  3.8)

> mycor = cor.test(x,y)
> mylm = lm(x~y)

# r and rsquared:
> cor.test(x,y)$estimate ** 2
      cor 
0.3262484 
> summary(lm(x~y))$r.squared
[1] 0.3262484

# P.value 

> lmp(lm(x~y))  # Using the lmp function defined in Chase's answer
[1] 0.1081731
> cor.test(x,y)$p.value
[1] 0.1081731
0
задан Christopher 18 January 2019 в 09:51
поделиться

2 ответа

Только добавить join к генератору:

df.example = [', '.join(w.replace(' ', '_') for w in re.findall(r"'([^']*)'", x.lower()))
              for x in (df.example)]

print (df)
                                             example
0  adventure, african_elephant, animal, ball_game...
0
ответ дан jezrael 18 January 2019 в 09:51
поделиться

На всякий случай, возможно, pandas str.join будет полезен в будущем ;-)
1) добавили вторую строку к вашему примерному фрейму данных
2) не модифицировали ваш генератор [ 114]
3) добавлена ​​дополнительная строка:

    df['example'] = df['example'].str.join(',')

Рабочий пример:

import pandas as pd
import re
d = {
    'example' : pd.Series([
        "['a' 'b c' 'd' 'e f' 'g' 'h i j' 'k l' 'm n']",
        "['a' 'b c' 'd']"
    ]),
}
df = pd.DataFrame(d)
display(df)
    example
0   ['a' 'b c' 'd' 'e f' 'g' 'h i j' 'k l' 'm n']
1   ['a' 'b c' 'd']

df.example = [[w.replace(' ', '_') for w in re.findall(r"'([^']*)'", x.lower())] for x in tqdm(df.example)]
df['example'] = df['example'].str.join(',')
display(df)
    example
0   a,b_c,d,e_f,g,h_i_j,k_l,m_n
1   a,b_c,d
0
ответ дан Juan Kania-Morales 18 January 2019 в 09:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: