gpt4 book ai didi

python - 将多个 pandas 数据帧附加到单个 csv,但仅在第一个附加上包含标题

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:33 27 4
gpt4 key购买 nike

我需要创建一个 .csv 文件并将多个数据帧的子集附加到其中。

所有数据帧的结构都相同,但是我需要创建带标题的输出数据集,然后附加所有不带标题的后续数据帧。

我知道我可以使用第一个数据帧中的 header 创建输出文件,然后执行一个没有 header 的追加循环,但我真的很想学习如何以更有效的方式执行此操作。

path ='/Desktop/NYC TAXI/Green/*.csv' 
allFiles = glob.glob(path)

for file in allFiles:
df = pd.read_csv(file, skiprows=[1,2], usecols=np.arange(20))
metsdf = df.loc[df['Stadium_Code'] == 2]
yankdf = df.loc[df['Stadium_Code'] == 1]
with open('greenyankeetaxi.csv','a') as yankeetaxi:
yankdf.to_csv(yankeetaxi,header=false)
with open('greenmetstaxi.csv','a') as metstaxi:
metsdf.to_csv(metstaxi,header=false)
print(file + " done")

最佳答案

要高效地完成此操作,您可以使用 Merge, join, and concatenate 之一所以你有两个完整的数据帧(yankdfmetsdf),然后像你一直在做的那样使用 to_csv 写入 csv。

<小时/>

当前数据

这里我们有 2 个数据帧,每个文件一个:

第一个数据帧df

   a  b  c
0 1 2 3
1 4 5 6

第二个数据帧df2

   a   b   c
0 7 6 8
1 9 10 11

使用附加

df = df.append(df2) 

上面的行将生成一个可以写入文件的 df

   a   b   c
0 1 2 3
1 4 5 6
0 7 6 8
1 9 10 11

简而言之:

  • 循环遍历目录中的文件
  • 使用 append 将数据添加到数据框而不是每次都重新分配
  • 单个数据帧写入文件

关于python - 将多个 pandas 数据帧附加到单个 csv,但仅在第一个附加上包含标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com