当前位置 : 主页 > 网络推广 > seo >

如何修改pandas中某些列的全文

来源:互联网 收集:自由互联 发布时间:2021-06-16
我从pandas中的csv获得了一个相当大的数据帧. 问题是在某些列上我得到了一些文本字符串,我想隔离最后一个字符以将其转换为整数. 我找到了解决方案,但我相信它不是最有效的. 它是这
我从pandas中的csv获得了一个相当大的数据帧.

问题是在某些列上我得到了一些文本字符串,我想隔离最后一个字符以将其转换为整数.

我找到了解决方案,但我相信它不是最有效的.
它是这样的:

import pandas as pd

df = pd.read_csv("filename")

cols = list(df.loc[:, 'col_a':'column_s'])
df_filtered = df[cols].dropna()

df_filtered['col_o'] = df_filtered['col_o'].str[-1:]
df_filtered['col_p'] = df_filtered['col_p'].str[-1:]
df_filtered['col_q'] = df_filtered['col_q'].str[-1:]
df_filtered['col_r'] = df_filtered['col_r'].str[-1:]
df_filtered['col_s'] = df_filtered['col_s'].str[-1:]

在写作方面,这并不是真正有效的.所以我尝试过这样的事情:

colstofilter = list(df_filtered.loc[:, 'col_o':'col_s'])

for col in df_filtered[colstofilter]:
    print(df_filtered[col].str[-1:].head())

打印它给出了我想要的,但当我尝试将其转换为函数或lamba或将其应用于数据帧时,我得到一个错误,它不支持

试试这个:

df_filtered.loc[:, 'col_o':'col_s'] = \
    df_filtered.loc[:, 'col_o':'col_s'].apply(lambda x: x.str[-1])
网友评论