我有一个数据集:
val
[0.5, 0.7,....,0.8]
[0.11, 0.4,....,0.77]
...
[0.99, 0.1,....,0.4]是pandas.core.series.Series
每个列表中有1000行和200个值。我想将它转换为包含200列和1000行的dataframe,但是当我执行pd.DataFrame(list(df))时,它是NumPy.float64 object is not iterable。怎么修呢?
发布于 2022-05-16 13:36:43
你可以用字典来理解:
import pandas as pd
s = pd.Series([[1,2,3],[4,5,6]]) # please provide a reproducible example
pd.DataFrame.from_dict({i:col for i,col in s.iteritems()})返回
0 1
0 1 4
1 2 5
2 3 6您还可以将from_records与transpose一起使用。
pd.DataFrame.from_records(s).transpose()发布于 2022-05-16 13:31:52
使用下列数据集:
data = pd.Series([[0.5, 0.7, 0.8],
[0.11, 0.4, 0.77]])正在做什么
pd.DataFrame(data.values.tolist())将产生预期结果:
0 1 2
0 0.50 0.7 0.80
1 0.11 0.4 0.77发布于 2022-05-16 13:40:59
>>> data = pd.core.series.Series([[0.5, 0.7, 0.8],[0.11, 0.4, 0.77]])
>>> data
0 [0.5, 0.7, 0.8]
1 [0.11, 0.4, 0.77]
dtype: object
>>> l = data.values.tolist()
>>> l
[[0.5, 0.7, 0.8], [0.11, 0.4, 0.77]]
>>> pd.DataFrame(l)
0 1 2
0 0.50 0.7 0.80
1 0.11 0.4 0.77https://stackoverflow.com/questions/72259944
复制相似问题