【问题标题】:Pandas read_csv(): keeping the header and then skip rows when reading in from file?Pandas read_csv():从文件中读取时保留标题然后跳过行?
【发布时间】:2021-03-18 15:53:02
【问题描述】:

我想读取输入文件的每 500 行。

我的想法是使用 lambda 函数来创建我的布尔值:skiprows = lambda x: 0 != x%500 这很好用,但也跳过了我想保留为标题的第一行。

我尝试使用 read_csv() 中的 header 参数解决此问题,但无法解决。

我的代码:

tsteps = [ 12500, 25000, 50000 ,100000, 200000, 400000, 800000, 1600000, 3200000 ]

list_of_data = [pd.read_csv("../data/gauss_wf_fixed_wall6_129_1_{}_1_3_30_6_1.txt".format(i), sep="\t", header=0 ,skiprows = lambda x: 0 != x%500) for i in tsteps ]

电流输出:

   3.9920000000000004e-02  2.2889406468048764e-314  1.9631275851119487e-01  \
0                 0.08000            2.288941e-314                0.196313   
1                 0.12008            2.288941e-314                0.196313   
2                 0.16016            2.288941e-314                0.196313   
3                 0.20024            2.288941e-314                0.196313   
4                 0.24032            2.288941e-314                0.196313   ...

想要的输出:(类似)

      time   REAL(psi[n])  IMAG(psi[n])      averx    deltax     averp  \
0  0.00000  2.328125e-314      0.000000  30.000020  5.999985  0.838554   
1  0.00004  2.328125e-314      0.196313  30.000034  5.999985  0.838554   
2  0.00008  2.328125e-314      0.196313  30.000048  5.999985  0.838554   
3  0.00012  2.328125e-314      0.196313  30.000063  5.999985  0.838554   
4  0.00016  2.328125e-314      0.196313  30.000077  5.999985  0.838554   

在应用skirows之前有没有办法调用skip header? (因为 skiprows 会跳过文件中的所有行)

提前致谢。

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    我们可以通过强制保留第一行,然后将剩余的行上移1,然后应用取模运算符来达到效果。 'keep' 是要保留的行,然后我们在 lambda func 中取反。

    def keep(x):
        if x==0:
            return True
        if (x-1) % 500 ==0:
            return True
    
    df=pd.read_csv("ummh.csv", header=0, skiprows=lambda x: not keep(x))
    

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 1970-01-01
      • 2018-11-27
      • 2020-04-03
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      相关资源
      最近更新 更多