在Python中将字符串转换为 Dataframe

ymdaylpp  于 2022-10-23  发布在  Python
关注(0)|答案(1)|浏览(445)

我有一根看起来像这样的绳子。

  1. x = 24.55 26.22, 69.22 78.25, 66.25 45.98

我想转换成如下所示的 Dataframe :

  1. A B A B A B
  2. 24.55 26.22 69.22 78.25 66.25 45.98

这是我尝试过的,但我遇到了一个错误。

  1. import io
  2. import pandas as pd
  3. df1 = pd.read_csv(io.StringIO(x), sep=",")
  4. df1 = df1.groupby(level=[0,1]).cumcount().map({0 : 'x', 1 : 'y'})
xuo3flqw

xuo3flqw1#

您可以使用双拆分,stack,然后重新整形为DataFrame:

  1. x = '24.55 26.22, 69.22 78.25, 66.25 45.98'
  2. out = (pd
  3. .DataFrame([map(float, s.split()) for s in x.split(',')],
  4. columns=['A', 'B'])
  5. .stack().droplevel(0)
  6. .to_frame().T
  7. )

输出:

  1. A B A B A B
  2. 0 24.55 26.22 69.22 78.25 66.25 45.98

如果您已经知道项目的数量:

  1. pd.DataFrame([[float(e) for s in x.split(',') for e in s.split()]],
  2. columns=['A', 'B']*3)
展开查看全部

相关问题