我有一个列值列表,并且我想从现有数据框中通过循环使用此列值提取行,因为列表中包含很多值。
list = [2,4,5,6,7,8, ....., 2345]
df # df is an existing dataframe
#'number' is the name of the column that has the value of list in it
for i in list:
df.loc[(df["number"] == i)])
df
for i in list:
P = pd.DataFrame(df.loc[(df["number"] == i)])
P # extract only one column of a certain number
都没有得到我想要的结果。
答案 0 :(得分:1)
使用isin
获取具有以下列表值的行:
df = pd.DataFrame(np.arange(0,20).reshape(5,4),columns=list('abcd'))
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
4 16 17 18 19
l = [2,7,19]
df.loc[df['d'].isin(l)]
a b c d
1 4 5 6 7
4 16 17 18 19
因此,column d
在我们使用7
选择的第一行和第四行中分别具有19
和isin
。