python dataframe筛选列表的值转为list【常用】

2019-07-30 14:54:58 浏览数 (1)

  网上方法参差不齐,无注释解释不好秒懂,没有自己想要的,故自己试验一番~

代码语言:javascript复制
1. 筛选列表中,当b列中为’1’时,所有c的值,然后转为list
代码语言:javascript复制
2 .筛选列表中,当a列中为'one',b列为'1'时,所有c的值,然后转为list
代码语言:javascript复制
3 .将a列整列的值,转为list(两种)
代码语言:javascript复制
4. 筛选列表,当a=‘one’时,取整行所有值,然后转为list

具体看下面代码:

代码语言:javascript复制
import pandas as pd
from pandas import DataFrame


df = DataFrame([['one', '1', '一'],
                ['one', '1', '一'],
                ['two', '2', '二'],
                ['three', '3', '三'],
                ['four', '1', '四'],
                ['five', '5', '五']],
        columns=['a', 'b', 'c'])

print(df)
"""
out:
       a  b  c
0    one  1  一
1    one  1  一
2    two  2  二
3  three  3  三
4   four  1  四
5   five  5  五
"""

# 筛选列表中,当b列中为’1’时,所有c的值,然后转为list
b_c = df.c[df['b'] == '1'].tolist()
print(b_c)

# out:  ['一', '一', '四']

# 筛选列表中,当a列中为'one',b列为'1'时,所有c的值,然后转为list
a_b_c = df.c[(df['a'] == 'one') & (df['b'] == '1')].tolist()
print(a_b_c)

# out:  ['一', '一']

# 将a列整列的值,转为list(两种)
a_list_1 = df.a.tolist()
a_list_2 = df['a'].tolist()
print(a_list_1, "n", a_list_2)

"""
out:
['one', 'one', 'two', 'three', 'four', 'five'] 
 ['one', 'one', 'two', 'three', 'four', 'five']
"""

# 筛选列表,当a=‘one’时,取整行所有值,然后转为list
a_line = df[df['a'] == 'two'].values.tolist()
print(a_line)

# out:  [['two', '2', '二']]

 如有错误,请及时指正,谢谢!

0 人点赞