Как разбить столбец на несколько столбцов в пандах с определенной позицией разделителя?

Я думаю, вы ищете

client.Search(s => s
   .Index('my index name')
   .Type('my doc type name')
   .From(page*PageSize)
   .Size(PageSize)
   .Query(q => q
          .QueryString(qs => qs.Query('my query')))
   .Highlight(h => h
          .OnFields(f => f
                .OnField("*")
                .PreTags("")
                .PostTags("")
   )));

, потому что .OnAll() означает .OnField("_all").

Посмотрите

UPDATE: синтаксис инициализатора объекта (NEST 5.x)

var searchRequest = new SearchRequest
{
    Query = ..
    Highlight = new Highlight
    {
        PostTags = new[] {""},
        PreTags = new[] {""},
        Fields = new FluentDictionary().Add("*", new HighlightField())
    }
};

1
задан Sujin 16 January 2019 в 11:37
поделиться

2 ответа

Использование:

new_df[['df_t1', 'df_t2', 'df_val']] = new_df['df_test'].str.rsplit('),', expand=True)
new_df[['df_t1', 'df_t2']] += ')' 
print (new_df)
                   df_test     df_t1      df_t2 df_val
0  (-, 136), (-, 136), 1.0  (-, 136)   (-, 136)    1.0
1  (-, 136), (-, 438), 0.5  (-, 136)   (-, 438)    0.5
2  (-, 136), (-, 257), 0.5  (-, 136)   (-, 257)    0.5
0
ответ дан jezrael 16 January 2019 в 11:37
поделиться

В зависимости от вашего формата вы можете использовать ast.literal_eval . Лучше попытайтесь решить проблему до до того, как ваш фрейм данных будет создан.

from ast import literal_eval

df = pd.DataFrame({'df_test': ['(-, 136), (-, 136), 1.0',
                               '(-, 136), (-, 438), 0.5',
                               '(-, 136), (-, 257), 0.5']})

series = df.pop('df_test').str.replace('-', '"-"').apply(literal_eval)
df = df.join(pd.DataFrame(series.values.tolist(), columns=['df_t1', 'df_t2', 'df_val']))

print(df)

      df_t1     df_t2  df_val
0  (-, 136)  (-, 136)     1.0
1  (-, 136)  (-, 438)     0.5
2  (-, 136)  (-, 257)     0.5
0
ответ дан jpp 16 January 2019 в 11:37
поделиться
Другие вопросы по тегам:

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