我对使用python3
/ pandas
的某些代码有疑问。
我有一个清单
mylist = [2,6,7]
和一个数据框
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
现在,我要检查mylist
的项是否等于C
中列df
的值。如果是这样,请使用给出匹配项的行创建一个新的df2
。
col = ["A", "B", "C", "D"]
df2 = pd.DataFrame(columns=col)
for x in mylist:
if len(df.loc[df['C'] == x])>=1:
df2.append(df.loc[df['C'] == x])
不幸的是,这不起作用(我没有得到任何输出)。
我的预期输出(df2
)将是:
index A B C D
2 foo two 2 4
6 foo one 6 12
7 foo three 7 14
答案 0 :(得分:0)
您只需要指定您希望df2
等于您的append语句:
df2 = df2.append(df.loc[df['C'] == x])