如何在Python中基于CSV文件的列值选择行[重复]

lnvxswe2  于 12个月前  发布在  Python
关注(0)|答案(2)|浏览(74)

此问题已在此处有答案

Drop all duplicate rows across multiple columns in Python Pandas(8个回答)
上个月关门了。
我想只选择fc_id == 2的行,然后删除重复的行。这是我的输入文件:

我只在第一步就被卡住了。之后,我还需要一个输出文件,我将得到我的最终数据与fc_id==2,没有重复。
我试过这个:

df = pd.read_csv(r'test.csv')
df2 = df[df["fc_id"]==2]

def condi(df2):
    df3[x] = np.where(df(df2)==2, 1, 0)
    return x
var = condi(df2)
#print(var)

with open('test.csv', 'r') as in_file, open('out_test.csv', 'w') as out_file:
    seen = set()
    if var == 1:
         for line in in_file:
            if line in seen: continue

            seen.add(line)
            out_file.write(line)

我得到一个错误,当我试图打印(var)它说“'DataFrame'对象是不可调用的”。

lpwwtiir

lpwwtiir1#

就像这样:

df = pd.read_csv(r'test.csv')
df2 = df[df['fc_id'] == 2]
df2.drop_duplicates(inplace=True)
wko9yo5t

wko9yo5t2#

对于给定某个等式条件选择 Dataframe :df=df[df['column_name'] == some_value]
在您的案例中:

df = df[df["fc_id"]==2]

要删除duplicates,可以使用

result_df = df.drop_duplicates(keep='first')

相关问题