【问题标题】:Transpose multi column data into single row using python from HTML使用来自 HTML 的 python 将多列数据转换为单行
【发布时间】:2021-06-07 17:15:37
【问题描述】:

我正在尝试通过美丽的汤转置 HTML 检索到的代码。该网站有 2 个 HTML 表格。我已经把表格变成了一个变量。

  table = pd.read_html(page)
  table1 =  table[0]    
  table2 =  table[1]

table1 和 table2 组合的输出给出:

    0  1
0   a  A         
1   b  B
2   c  C
3   d  D
4   e  E
5   f  F
6   g  G

起始行和列中的 0 和 1 是我使用过的 pandas 自动生成的

 table = pd.read_html(url)

我想以这样的方式重塑表 1 和表 2

table = ['a','A','b','B','c','C','d','D','e','E','f','F','g','G']          

我还有其他清单

 Second_list = ['AA','BB','CC','DD','EE']

表数据框应与 second_list 匹配,以便两者可以结合

table = table + Second_list

这样表格的输出就是

['a','A','b','B','c','C','d','D','e','E','f','F','g','G','AA','BB','CC','DD','EE']

非常感谢上述方法以外的任何解决方案,目标是删除 pandas 自动生成的列和行,并将多列数据变成单行

非常感谢,祝你有美好的一天

【问题讨论】:

  • df.values.flatten() ??
  • 它显示相同的结构,感谢您的帮助:)

标签: python pandas dataframe beautifulsoup


【解决方案1】:

如果要展平数据框,可以使用np.ravel。例如:

Second_list = ["AA", "BB", "CC", "DD", "EE"]
x = df.values.ravel().tolist() + Second_list
print(x)

打印:

['a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'AA', 'BB', 'CC', 'DD', 'EE']

【讨论】:

  • 非常感谢,它就像魅力一样工作:) . ravel() 函数是否用于删除熊猫中自动生成的行和列?
猜你喜欢
  • 2019-02-17
  • 2022-10-04
  • 2020-04-19
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多