如何将Pandas DataFrame列转换为嵌套整数列表?
解决方法
可以通过以下几种简洁的方式实现需求:
方法一:使用apply结合列表推导式
先将DataFrame目标列中的每个字符串按|分割,再把分割后的字符串元素转换为整数,最后转为Python列表:
import pandas as pd # 构造DataFrame my_df = pd.DataFrame({'Column_1': ['1|4', '3|9', '15|18']}) # 转换为嵌套整数列表 my_list = my_df['Column_1'].apply(lambda x: [int(num) for num in x.split('|')]).tolist() print(my_list) # 输出: [[1, 4], [3, 9], [15, 18]]
方法二:使用str.split展开列后转换
如果分割后的元素数量固定(这里均为2个),可以先将字符串分割为多列,转换为整数类型后再转为嵌套列表:
import pandas as pd my_df = pd.DataFrame({'Column_1': ['1|4', '3|9', '15|18']}) # 分割字符串并转为整数列 split_df = my_df['Column_1'].str.split('|', expand=True).astype(int) # 转换为嵌套列表 my_list = split_df.values.tolist() print(my_list) # 输出: [[1, 4], [3, 9], [15, 18]]
内容的提问来源于stack exchange,提问作者Joe Lee
相关产品推荐
相关产品推荐

