【问题标题】:Trying to expand row data and convert to DataFrame, getting this error: AttributeError: 'float' object has no attribute 'keys'尝试扩展行数据并转换为 DataFrame,出现此错误:AttributeError: 'float' object has no attribute 'keys'
【发布时间】:2021-05-15 17:19:03
【问题描述】:

在下面运行我的函数时遇到以下错误: AttributeError: 'float' object has no attribute 'keys'

每一行包含以下数据:

{'volume': '8579152.41', 'price_change': '-0.00211948', 'price_change_pct': '-0.0016', 'volume_change': '445336.65', 'volume_change_pct': '0.0548', 'market_cap_change': '-2813342.71', 'market_cap_change_pct': '-0.0016'}

def adj_col(data,column_name): # Function to expand columns open up brace brackets and then converts it to a DataFrame
    convert = data.pop(column_name).values.tolist()
    converted = pd.DataFrame(convert)
    return converted

我的目标是将数据展开为一列,完成后将其转换为 DataFrame。

我做错了什么?

【问题讨论】:

    标签: python pandas list dataframe cryptocurrency


    【解决方案1】:

    您可能在列中的某处有NaN 值。此示例将过滤掉 NaN 值:

    convert = df.pop("Values").values.tolist()
    converted = pd.DataFrame([v for v in x if pd.notna(v)])  # <-- filter out the NaN values
    print(converted)
    

    【讨论】:

    • 感谢@andrej-kesely,我对其进行了一些编辑,这正是我所需要的 ` def adj_col(data, column): column_name = '{}'.format(column) convert = data .pop(column_name).values.tolist() 转换 = pd.DataFrame( [ v for v in convert if pd.notna(v) ] ) 返回转换后的`
    猜你喜欢
    • 2023-02-18
    • 1970-01-01
    • 2022-01-19
    • 2022-06-14
    • 2020-04-02
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 2023-01-23
    相关资源
    最近更新 更多