[英]pandas: extract certain rows as a dataframe by the value of a column
I have a list of column value and from a existing dataframe I want to extract the row by this column value by using a loop since the list has lots of values. 我有一个列值的列表,并且我想从现有数据框中通过循环使用此列值提取行,因为该列表包含很多值。
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
both does not get the result I want. 两者都没有得到我想要的结果。
Use isin
for getting the rows which have given list values as: 使用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
So, the column d
has 7
and 19
in 1st and 4th rows which we selected using isin
. 因此, column d
在我们使用isin
选择的第一行和第四行中具有7
和19
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.