【问题标题】:how to convert df.info() into data frame. df.info()如何将 df.info() 转换为数据框。 df.info()
【发布时间】:2021-01-11 23:37:50
【问题描述】:

如何将df.info() 转换为data_frame。

我希望能够将此数据帧与其他数据帧合并。

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 458 entries, 0 to 457
Data columns (total 9 columns):
Name        457 non-null object
Team        457 non-null object
Number      457 non-null float64
Position    457 non-null object
Age         457 non-null float64
Height      457 non-null object
Weight      457 non-null float64
College     373 non-null object
Salary      446 non-null float64
dtypes: float64(4), object(5)
memory usage: 32.3+ KB

【问题讨论】:

    标签: python-3.x pandas dataframe merge converters


    【解决方案1】:

    基于上一个答案。下面的解决方案将从buffer收集的字符串直接放入pandas DataFrame中,而无需将临时文件保存到磁盘

    import io
    buf = io.StringIO()
    df.info(buf=buf)
    s = buf.getvalue()
    lines = [line.split() for line in s.splitlines()[3:-2]]
    pd.DataFrame(lines)
    

    说明:

    • s.splitlines() - 从找到换行符的字符串创建一个列表
    • 索引[3:-2] - 删除前三行和最后两行,以便它很好地适合数据框的列

    【讨论】:

      【解决方案2】:

      您可以写入文本文件:

      import io
      buffer = io.StringIO()
      df.info(buf=buffer)
      i = buffer.getvalue()
      with open("df_info.txt", "w", encoding="utf-8") as f:
          f.write(i)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-17
        • 2020-08-16
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 2019-05-26
        • 2022-01-07
        相关资源
        最近更新 更多