第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據(jù)文件名中特定字符串的存在,從大約 150 個以上 (.csv) 文件中讀取數(shù)據(jù)分為兩類

根據(jù)文件名中特定字符串的存在,從大約 150 個以上 (.csv) 文件中讀取數(shù)據(jù)分為兩類

30秒到達戰(zhàn)場 2021-12-17 14:54:43
我正在嘗試建立一種在 Python 3 中自動執(zhí)行大量數(shù)據(jù)分析的方法。目前,大部分實際分析相當(dāng)簡單(根據(jù) 4 個輸入文件繪制 2 條曲線并進行一些計算)。因為我總是至少有 4 個文件,所以我目前有這樣的東西可以從我正在查看的 4 個文件中讀取 .csv 文件中的所有數(shù)據(jù)。實際上,在任何給定時間都有大約 150 多個文件,我需要一種方法來非??焖俚乇容^所有文件。對于一些背景:1)。所有文件都將位于具有相同路徑的同一文件夾中(特定文件名除外)。2)。有兩個類別(我稱它們?yōu)椤癈ontrol”和“NP”),每個類別有 2 個與之對應(yīng)的文件:Control-A、Control-B 和 NP-A 和 NP-B。3)。當(dāng)前有大量信息位于文件名中(實驗室條件等數(shù)據(jù)采集軟件在測量期間實時讀?。?,但文件名中間的某個位置包含“暗”或“照亮”。有了這些信息,我試圖找到一種方法來一次導(dǎo)入所有文件并根據(jù)文件名將它們分開。例如,包含單詞“ControlDark”的所有文件將被組合在一起,包含“ControlIlluminated”的所有文件將被組合在一起,對于其他兩種組合(“NPDark”和“NPIlluminated”),依此類推?,F(xiàn)在,我所擁有的只是一個 GUI,它允許我從特定路徑(使用 askopenfilename())手動選擇 4 個文件。我不知道有什么好方法可以同時讀取數(shù)百個 .csv 文件?,F(xiàn)在,我一次只能容納 4 個數(shù)據(jù)集,因為我不知道一種保存整個文件夾價值數(shù)據(jù)的方法(沒有相應(yīng)的 askopenfilename() 或 np.genfromtxt('path\filename.csv') )f1 = askopenfilename()f1_data = pd.read_csv(f1, names = ['A', 'B', 'C'])f2 = askopenfilename()f2_data = pd.read_csv(f2, names = ['A', 'B', 'C'])f3 = askopenfilename()f3_data = pd.read_csv(f3, names = ['A', 'B', 'C'])f4 = askopenfilename()f4_data = pd.read_csv(f4, names = ['A', 'B', 'C'])基本上我用 askopenfilename() 命令調(diào)出一個 gui 并手動查找有問題的 4 個文件。但是,我想自動執(zhí)行此操作,以便我可以從一開始就將所有約 150 多個文件轉(zhuǎn)儲到該文件中。我找到了一種開始的方法,但是我在將每個文件讀入它自己的數(shù)據(jù)結(jié)構(gòu)時遇到了一些困難。到目前為止,我有:import globimport pandas as pdimport ospath = r'full\path\here'all_files = glob.glob(os.path.join(path, "*.csv"))#Setting up a list for each of the 4 files I need to generate each plotDarkControl = []IllControl = []DarkNP = []IllNP = []for f in all_files:     if "Control" in f and "Dark" in f:          DarkControl.append(f)     elif "Control" in f and "Illuminated" in f:          IllControl.append(f)     elif "GoldNP" in f and "Dark" in f:          DarkNP.append(f)     elif "GoldNP" in f and "Illuminated" in f:          IllNP.append(f)所以我有每個類別的列表,但現(xiàn)在它是一個字符串列表。有沒有一種好方法(可能使用 Pandas 數(shù)據(jù)框?)為 all_files 中的每個文件 f 創(chuàng)建一個數(shù)據(jù)框?我絕對想避免為所有文件創(chuàng)建一個龐大的結(jié)構(gòu)。在每個文件中,第一列是我的 x 變量,第二列是我的 y 變量。我想確保我可以針對 x 值繪制任何給定 f 的 y 值和其他一些 f 的 y 值(所有文件的所有 x 值都相同)
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

通常我們會要求一個 MVC 示例來測試我們的代碼。但是,我想我確實對您的問題有所了解。

如果我正確理解你的問題,你有傳感器類型的數(shù)據(jù),其中 x 是某種類型的時間軸,并且在多個實驗試驗中重復(fù)。

您在整理文件的正確軌道上,但 Python 列表理解可能是一種更清晰/更 Pythonic 的編寫方式

Dark_control=[f for f in all_files if "Control" in all_files if "Dark" in all_files]

您還可以在您的glob.glob.

數(shù)據(jù)框非常適合這種類型的結(jié)構(gòu),根據(jù)您的數(shù)據(jù)結(jié)構(gòu)(以及您希望它的設(shè)置方式),您也可以使用相同的列表理解來讀取數(shù)據(jù)。

Dark_control=[pd.read_csv(f) for f in all_files if "Control" in all_files if "Dark" in all_files]

上面的代碼將創(chuàng)建一個包含所有值的數(shù)據(jù)框數(shù)組,您可以pd.concatpd.join取決于您如何獲得最終數(shù)據(jù)。

不知道為什么不能將所有數(shù)據(jù)放在一個大型數(shù)據(jù)框中進行分析(考慮使用多索引將不同的實驗試驗分開)。


查看完整回答
反對 回復(fù) 2021-12-17
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號