【问题标题】:python dataframe parsing using pandas [closed]使用熊猫解析python数据帧[关闭]
【发布时间】:2020-06-16 11:00:08
【问题描述】:

我有一个数据框作为下面的示例,它是从 csv 导入的。我想提取输出中提到的前 6 个字母,并且只想输出为数据帧格式。

制表符分隔输入:

123456789_abcd_dd 3456434534_abelom_ad 123987323_tyewer_qwer 562329872_zcxvzcv_mnbcc
345345345_abcd_dd 6834512342_llllom_ad 368887323_jnbcer_qwer 123429872_iuytzcv_mnbcc

制表符分隔的预期输出:

123456 345643 123987 562329
345345 683451 368887 123429

我有很多这样的行和列,因此需要有关迭代此数据帧的所有行和列的解决方案的帮助。

【问题讨论】:

标签: pandas dataframe


【解决方案1】:

如果您需要对所有值进行完全相同的转换,可以使用applymap

import pandas as pd

df = pd.DataFrame({'A': ['123456789_abcd_dd', '345345345_abcd_dd'], 'B': ['3456434534_abelom_ad', '6834512342_llllom_ad'],
                   'C': ['123987323_tyewer_qwer', '368887323_jnbcer_qwer'], 'D': ['562329872_zcxvzcv_mnbcc', '123429872_iuytzcv_mnbcc']})

df.applymap(lambda x: x[:6])

         A       B       C       D
0   123456  345643  123987  562329
1   345345  683451  368887  123429

【讨论】:

    【解决方案2】:

    查看下面的代码

    df = [['123456789_abcd_dd', '3456434534_abelom_ad', '123987323_tyewer_qwer', '562329872_zcxvzcv_mnbcc'], ['345345345_abcd_dd', '6834512342_llllom_ad', '368887323_jnbcer_qwer', '123429872_iuytzcv_mnbcc']]
    df = pd.DataFrame(df).astype('str')
    df
    output>>> 
    
                       0                     1                      2 
    0  123456789_abcd_dd  3456434534_abelom_ad  123987323_tyewer_qwer   
    1  345345345_abcd_dd  6834512342_llllom_ad  368887323_jnbcer_qwer   
    
    df.applymap(lambda x: x[:6])
    df
    
    o/p>>>
    
            0       1       2       3
    0  123456  345643  123987  562329
    1  345345  683451  368887  123429
    

    【讨论】:

      猜你喜欢
      • 2019-07-30
      • 2018-07-31
      • 1970-01-01
      • 2023-02-05
      • 2016-08-16
      • 2017-10-15
      • 1970-01-01
      • 2020-05-03
      • 2015-02-03
      相关资源
      最近更新 更多