【问题标题】:(automatically) clean up data coming from a Python Dataframe.CSV(自动)清理来自 Python Dataframe.CSV 的数据
【发布时间】:2022-01-22 15:35:23
【问题描述】:

我在 Python 中从我抓取的一些网页中创建了一个 Dataframe。当我在我的 Google 表格中导入 CSV 文件时,我遇到了一个问题:所有数据单元格都是混合和匹配的。有时一行会包含这样的信息:col1、col4、col2、col8 等。

问题: 有没有办法防止列在 CSV 文件中被随机化?如果没有,是否有一种简单的方法可以在 Google 表格中再次组织列?

我当前的代码[省略了大部分不必要的行]-->

from bs4 import BeautifulSoup
import requests
import pandas as pd

  random_information = {
    col1,
    col2,
    col3,
    col4,
    col5,
    col6,
    col7,
    col8
  }

  randomDB.append(random_information)
  print(random_information)

df = pd.DataFrame(randomDB)
print(df)
df.to_csv('random.csv')

欢迎提出任何建议! :-)

编辑:因为我似乎不够清楚(编码新手)我已经对我当前的问题进行了可视化......

            **Frame length            Frame color           Frame material**
1.            Purple                  Aluminium             56
2.            Yellow                  57                    Carbon
3.            58                      Green                 Aluminium

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    是的,您可以将 dict 作为参数传递。每个键都是数据框的一列。

    pd.DataFrame({"col1": [1, 2], "col2": [1 , 3]})

    您的代码的不同之处在于您从列表中创建了一个数据框。上面的代码使用了字典。

    【讨论】:

    • 您好。也许我的解释有点太差了(我对编码非常陌生)。问题是我真的不想按任何东西排序,但是我的数据到处都混杂在一起,所以我的 Col1 数据(例如自行车的车架)在某些行中放入 Col7,我的 Col2 数据(例如构建年份)在某些行中放入 Col6。例如。自行车车架 // 自行车制造年份 // 自行车颜色 1. 黄色 // 56 // 2017 2. 2016 // 绿色 // 58 3. 2016 // 57 // 紫色 很难以这种方式分析 Google 表格中的数据,这就是为什么我正在寻找一种让它更明智的方法。
    【解决方案2】:

    panda DataFrame(s) 提供了一个专用函数: DataFrame.sort_values

    这里是工作示例:

    import pandas as pd 
              
    series = {}
    for x in range(100):
      arr1 = []
      for i in range(10):
        arr1.append(random())
        
      series[x] = arr1
      
    df = pd.DataFrame(series)
    df.sort_values(by=1, inplace=True)
    print(df)
    
    df.sort_values(by=2, inplace=True)
    print(df)
    

    输出1:

            0         1         2   ...        97        98        99
    3  0.816715  0.008932  0.950971  ...  0.919954  0.407322  0.682435
    5  0.455805  0.075427  0.502535  ...  0.686747  0.504749  0.217507
    4  0.310290  0.151038  0.061864  ...  0.077576  0.783444  0.784403
    

    输出2:

            0         1         2   ...        97        98        99
    8  0.677506  0.438093  0.032239  ...  0.055174  0.242884  0.794950
    4  0.310290  0.151038  0.061864  ...  0.077576  0.783444  0.784403
    6  0.006972  0.604672  0.251232  ...  0.496487  0.674959  0.308529
    

    【讨论】:

    • 您好。也许我的解释有点太差了(我对编码很陌生)。问题是我真的不想按任何东西排序,但是我的数据到处都混杂在一起,所以我的 Col1 数据(例如自行车的车架)在某些行中放入 Col7,我的 Col2 数据(例如构建年份)在某些行中放入 Col6。例如。自行车车架 // 自行车制造年份 // 自行车颜色 1. 黄色 // 56 // 2017 2. 2016 // 绿色 // 58 3. 2016 // 57 // 紫色 很难以这种方式分析 Google 表格中的数据,这就是为什么我正在寻找一种让它更明智的方法。
    • @Testaccount47,您能否提供像它们一样的示例数据,以及您希望它们如何组织?
    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2017-05-18
    • 2012-10-16
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多