将 int64 的“单词”转换为 Python 中的列表

问题描述

我有这个变量:

打印(mv)

genus                4505 
snails                386 
level                 460 
cats                 2813

请注意,这是对 100*1000 单元格数组的简化。

这个变量的来源是:

mv = miss_values_count[miss_values_count != 0]

它的类型是 int64

我想列出一个有名字但没有数字的列表...

像这样:

[属、蜗牛、等级、猫]

我已经试过了

list=[mv[0],mv[1],mv[2],mv[3]]

输出有数字...

我能做什么?

解决方法

要获取 pd.Series 的索引列表:

lst = list(mv.index)
,

如果您按如下方式构建了熊猫数据框

>>> import pandas as pd
>>> mv = pd.DataFrame([['genus',4505],['snails',386],['level',460],['cats',2813]],columns=['name','number'])

那么就可以得到'names'列如下

>>> mv['name']
0     genus
1    snails
2     level
3      cats
Name: name,dtype: object
,

如果数字总是正整数,那么以下将起作用:

1)THIS IS MY FEIGNCLIENT

@FeignClient(name = "feignClient",url = "https://xxxxx:xxxx")
public interface FeignClientInfluxDB {
    @RequestMapping(method = RequestMethod.GET,value = "/query?db=edms_db&q=SELECT * FROM M_M_table WHERE time > now() - 6m LIMIT 5")
    List<MMEntity> getAllDataFromInfluxDBwithTimeCondiction(
            @RequestHeader(name = "Authorization") String token);
}

2)THIS IS  the METHOD THAT I USE TO TAKE TOKEN FROM KEYCLOAK 
protected String getAuthToken() {
    Keycloak keycloak = KeycloakBuilder.builder().serverUrl(keycloakAuthLinkInflux).realm(keycloakRealmInflux)
            .grantType(OAuth2Constants.CLIENT_CREDENTIALS).clientId(keycloakClientInflux)
            .clientSecret(keycloakClientSecretInflux).build();
    return "Bearer " + keycloak.tokenManager().getAccessTokenString();
}

3)THIS IS THE METHOD ON MY SERVICE CLASS
@Transactional
public List<MMEntity> getAllWithFeignClientWithCondiction(String token) {
    final String methodName = "getAllWithFeignClientWithCondiction()";
    try {
        this.startLog(methodName);

        List<MMEntity> result = new ArrayList<MMEntity>();
        token = getAuthToken();
        result = feignClient.getAllDataFromInfluxDBwithTimeCondiction(token);

        logger.info("Request Successful");

        if (!result.isEmpty()) {
            for (MMEntity mmEntity: result) {

                MMEntityPstgrs mmEntityPstgrs = new MMEntityPstgrs ();

                mmEntityPstgrs = ConvertersUtils
                        .createMMEntityPstgrsFromMMEntity(
                                mmEntity);
                mMDao.save(mMEntityPstgrs);
                logger.info("Table Updated");
            }
        }
        this.endLog(methodName,result);
        return result;
    } catch (final Exception e) {
        this.errorLog(methodName,e);
        throw e;
    }
}

我提到正整数的原因是因为 isdigit 不适用于负整数。

更新:在编辑问题之前,输入看起来像是一个字符串,因此我的回答如上。

Update2:这是一个 Pandas 数据框。您需要使用列名。这是我的数据框。 col1 和 col2 是标题列。

text = 'genus 4505 snails 386 level 460 cats 2813'
list = [x for x in text.split(' ') if not x.isdigit()]
print(list)

['genus','snails','level','cats']

这会给我列表中 col1 的值:

col1    col2 
genus   4505
snails   386
level    460
cats    2813