簡體   English   中英

通過 df 中的搜索結果創建新的 dataframe

[英]Creating new dataframe by search result in df

我正在讀取一個用於搜索變量的 txt 文件。

我正在使用這個變量在 dataframe 中找到它。

for lines in lines_list:
    sn = lines
    if sn in df[df['SERIAL'].str.contains(sn)]:
        
        condition = df[df['SERIAL'].str.contains(sn)]
        df_new = pd.DataFrame(condition)
        df_new.to_csv('try.csv',mode='a', sep=',', index=False)  

當我檢查 try.csv 文件時,它的行數比 txt 文件多得多。 df 有很多行,比 txt 文件多。 我想將搜索結果中的整行保存到 dataframe 或文件中

我嘗試將 append 的搜索結果改為新的 dataframe 或 csv。

首先創建行列表

f = open("text.txt", "r")
l = list(map(lambda x: x.strip(), f.readlines()))

寫這個應用函數有比較值和過濾

def apply_func(x):
    if str(x) in l:
        return x
    return np.nan

並獲得 output

df["Serial"] = df["Serial"].apply(apply_func)
df.dropna(inplace=True)

df.to_csv("new_df.csv", mode="a", index=False)

或嘗試過濾方法

f = open("text.txt", "r")
l = list(map(lambda x: x.strip(), f.readlines()))

df = df.set_index("Serial").filter(items=l, axis=0).reset_index()
df.to_csv("new_df.csv", mode="a", index=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM