我有幾百* CSV文件,其中,當導入到大熊貓數據幀如下所示:如何將來自100個* csv文件的摘要統計信息與熊貓一個* csv結合使用?
import pandas as pd
df = pd.read_csv("filename1.csv")
df
column1 column2 column3 column4
0 10 A 1 ID1
1 15 A 1 ID1
2 19 B 1 ID1
3 5071 B 0 ID1
4 5891 B 0 ID1
B 0 ID1
6 12 B 2 ID1
7 13 C 2 ID1
8 20 C 0 ID1
9 5 C 3 ID1
10 9 C 3 ID1
每個* csv文件具有用於column4
一個唯一的ID(從而每一行具有相同的元素)。
我想創建一個新的CSV文件,其中每個文件名是一個行,保持從所述column4
ID /值和column1
和column3
的max
值。什麼是最好的熊貓的方式來做到這一點?
ID1 5891 3 ....
我的想法是:
import numpy as np
import pandas as pd
files = glob.glob("*.csv") # within the correct subdirectory
newdf1 = pd.DataFrame()
for file in newdf1:
df = pd.read_csv(file)
df["ID"] = df.column4.unique()
df["max_column1"] = df.column2.max()
df["max_column3"] = df.column3.max()
newdf1 = newdf1.append(df, ignore_index=True)
newdf1.to_csv("totalfile.csv")
然而,(1)我不知道這是否是有效的;(2)我不知道知道最終csv的尺寸是否正確。另外,如何處理一個* csv丟失column1
或column3
?也就是說,它應該「傳遞」這些值。
這樣做的正確方法是什麼?
這將如何處理NA值,即如果某個csv文件不存在列? – ShanZhengYang
嗯,所以如果column3丟失,那麼'max_column3'是NaN? – jezrael
是的,一些* csv文件沒有colum1或column3。儘管每個人都有一個ID列4。 – ShanZhengYang