【问题标题】:how to count a value in a csv file?如何计算csv文件中的值?
【发布时间】:2023-02-05 16:20:07
【问题描述】:

在我提供的代码中,它读取一个文件夹中的 csv 文件并将它们打印在另一个文件夹中。在这些 csv 中的每一个中都包含两列,这些列是在定义数据框时选择的。在 f 列中,我需要计算这个值超过 50.025 的次数并将其写在某个列中

代码:

import pandas as pd   
import numpy as np       
import glob   
import os  
all_files = glob.glob("C:/Users/Gamer/Documents/Colbun/Saturn/*.csv")   


file_list = []   
for i,f in enumerate(all_files):   
    df = pd.read_csv(f,header=0,usecols=["t","f"])
    df.apply(lambda x: x['f'] > 50.025, axis=1)
    df.to_csv(f'C:/Users/Gamer/Documents/Colbun/Saturn2/{os.path.basename(f).split(".")[0]}_ext.csv') 

【问题讨论】:

  • 您的代码如何无法完成该任务?
  • 你想在哪里写那个值?
  • 我的 csv 文件对应于带有逗号 t,f,p,po 的 4 列,我选择了 t,f。使用代码,csv 在第一列打印索引,然后是 t,然后是 f
  • 在任何不覆盖值的列中

标签: python pandas dataframe csv


【解决方案1】:

将它存储在某个列中是不合逻辑的......因为 它是整个表格的摘要..不特定于任何 排。

df = pd.read_csv(f,header=0,usecols=["t","f"])
how_many_times= len(   df[df['f'] > 50.025]   )

# you may store it in some unique column but it still doesnt make sense

df['newcol']=how_many_times

【讨论】:

  • 我明白你的意思,但是当我看到 lambda 文档时,如果值满足条件,它会打印 true 或 false,这就是为什么我需要在另一列中看到它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2015-01-08
相关资源
最近更新 更多