【问题标题】:separate text and numbers and convert to dataframe in python分离文本和数字并在python中转换为数据框
【发布时间】:2015-02-17 13:11:03
【问题描述】:

我有一个这样的列表:

[['fast_ema_period=22', ' slow_ema_period=10', ' signal_period=34', ' StopLoss=190', ' TakeProfit=140', ' Slippage=1', ' MagicNumber=0', ' '],

['fast_ema_period=4', ' slow_ema_period=22', ' signal_period=14', ' StopLoss=180', ' TakeProfit=170', ' Slippage=1', ' MagicNumber=0', ' '],

['fast_ema_period=32', ' slow_ema_period=10', ' signal_period=24', ' StopLoss=180', ' TakeProfit=120', ' Slippage=1', ' MagicNumber=0', ' '],

['fast_ema_period=40', ' slow_ema_period=46', ' signal_period=36', ' StopLoss=40', ' TakeProfit=130', ' Slippage=1', ' MagicNumber=0', ' ']]

并且我想将其转换为熊猫的数据框

列:[fast_ema_period, slow_ema_period, signal_period, StopLoss,TakeProfit, Slippage, MagicNumber]

以及表格正文中的值。

非常感谢您。

【问题讨论】:

  • 为什么不用字典?

标签: python list pandas


【解决方案1】:

简单。

from collections import defaultdict
# Use a default dict to make our life easier (we already know we are working with lists)
data = defaultdict(list)
# Get each item from each list, the below list-comprehension is efficient.
for item in [item for sublist in biglist for item in sublist if '=' in item]:
    key, value = item.split('=', 1)  # split the items on '=' but only once.
    data[key].append(value)  # add our new value to our dictionary. 

pd.DataFrame(data)  # tada! 

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 2020-10-08
相关资源
最近更新 更多