如何从列范围或列表中创建基于行的元组?

时间:2017-09-27 15:43:39

标签: python-2.7 list tuples

这可能很简单,但我不太清楚。

我们说我有一个数据框和列引用列表。我的目标是创建一个元组列表,仅为列表中包含的列提供行号的值。

raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
    'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
    'sex': ['male', 'female', 'male', 'female', 'female'],
    'dog': ['Burt','Kane','Billy','Bob','Thorton'],
    'cat': ['Evil','PurrEvil','Rorry','Meowth','Killer'],
    'fish': ['Johhny','Nemo','Dorry','Jacob','Pinky']}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'sex'])

colref = ['dog','cat','fish']

我想列出一些元组列表,如[[' Burt',' Evil'' Johhny'],[' Kane&#39 ;,' PurrEvil''尼莫'],...]

但我想这样做而不需要硬编码列名或数字。我正在执行此操作的实际数据集的大小和可变大小,但我的列表colref将始终包含我在元组列表中所需的所有列。有没有人对我有任何提示?

1 个答案:

答案 0 :(得分:0)

我想我可能已经弄清楚了..哈哈

tuples = [tuple(x) for x in df[colref].values]

如果有更好的解决方案,请告诉我。我很高兴看到其他人解决我遇到的作为菜鸟的问题。