gpt4 book ai didi

python - 使用Python根据文件中的标题名称更改CSV数值

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

我有一个 .csv 文件,其中包含来自现场传感器的观察结果。传感器以毫米为单位写入数据,我需要将其作为米导入到另一个应用程序中。我的想法是使用 Python 和 pandas 来:1. 读入 .csv 作为数据框2.找到我需要修改的数据的表头(每个实际值除以1000)3. 将所选列中的每个值除以 1000 将其转换为米4. 将生成的更新文件写入磁盘

目标:我需要修改除标题中包含“rad”的值之外的所有值。

数据如下所示: Any column with with the text "rad" should be left alone, zero's don't matter

这是我到目前为止所做的:

  1. 将数据读入数据帧:

    import pandas as pd
    import numpy as np
    delta_df = pd.read_csv('SAAF_121581_67_500.dat',index_col=False)
  2. 过滤掉所有我不想触及的数据:

    delta_df.filter(like='rad', axis=1)

这是我陷入困境的地方,因为我无法过滤数据帧

not like = 'rad'

我该怎么做?

最佳答案

如果您发布数据框而不是图像,会更容易,因为图像不可重现。您可以使用 dataframe.filter 保留所有包含 'rad' 的列

delta_df = delta_df.select(lambda x: re.search('rad', x), axis=1)

如果您尝试删除所有包含“rad”的列,请使用

delta_df = delta_df.select(lambda x: not re.search('rad', x), axis=1)

没有正则表达式的替代解决方案:

df.filter(like='rad',axis=1)

编辑:给定包含 rad 和不包含 rad 的数据帧,如下所示

df_norad = df.select(lambda x: not re.search('rad', x), axis=1)

df_rad = df.select(lambda x: re.search('rad', x), axis=1)

您可以将 df_norad df 的值转换为米,然后与 df_rad 合并

merged = pd.concat([df_norad, df_rad], axis = 1)

您可以使用 to_csv 将合并的数据框转换为 csv

merged.to_csv('yourfilename.csv')

关于python - 使用Python根据文件中的标题名称更改CSV数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705931/

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