python - Python:展平存储在数据框中的单个浮点数列表的列表
问题描述
我使用 pyodbc 将一些数据加载到熊猫数据框中。该数据库包含单个浮点数列表的列表。给定的数据框名称是df
, type(df.iloc[0][0]
,在type(df.iloc[0][0][0]
给定时list
作为输出type(df.iloc[0][0][0][0]
给出float
。我需要将这些列表展平以便只获得数字,最后只得到一个数字列表而不是列表列表。
只是为了可视化,这里保存的是df.iloc[0][0]
:
[[0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [32.09984], [0.0], [0.0], [0.0], [0.0], [0.0], [0.40704], [0.40704], [32.09984], [32.061440000000005], [32.048640000000006], [32.01024], [0.49152000000000007], [0.0], [0.00256], [0.00512], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0]]
有任何想法吗?谢谢
解决方案
如果您不介意使用 numpy 数组,您可以这样做:
df.iloc[0][0] = numpy.array(df.iloc[0][0]).flatten()
或者这里的代码来做一整列
df["Column"] = df["Column"].apply(lambda x : np.array(x).flatten())
如果您的数据稍后需要成为列表:
df["Column"] = df["Column"].apply(lambda x : list(np.array(x).flatten()))
对于所有列:
for col in df.columns:
if col not in ["ColumnThatShouldNotBeTransformed1", "ColumnThatShouldNotBeTransformed2"]:
df[col] = df[col].apply(lambda x : np.array(x).flatten())
推荐阅读
- reactjs - 如何将道具转移到堆栈中的组件反应原生?
- javascript - Bootstrap 4确认密码验证不起作用
- awk - 如何使用 awk 从句子中打印特定字符串
- python - 如何在 Python 中将 find_all 与 BeautifulSoup 一起使用?
- css - 如何从一个特定链接刷新 CSS 身体动画?
- mongodb - 事务 1 已在 MongoDB 中提交
- android - WebView.postWebMessage() 中可能存在内存泄漏
- swift - 为什么编译时不使用 mutating 关键字?
- php - 在 RESTful API 中,如何使用 PHP 验证公钥和密钥?
- php - PHP连接访问数据库插入值和组合框值