网上方法参差不齐,无注释解释不好秒懂,没有自己想要的,故自己试验一番~
1. 筛选列表中,当b列中为’1’时,所有c的值,然后转为list
2 .筛选列表中,当a列中为'one',b列为'1'时,所有c的值,然后转为list
3 .将a列整列的值,转为list(两种)
4. 筛选列表,当a=‘one’时,取整行所有值,然后转为list
具体看下面代码:
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', '二']]
如有错误,请及时指正,谢谢!