如何将pandas loc indexer转换为字符串?

时间:2018-05-07 20:26:55

标签: python python-3.x machine-learning id3

我有csv数据框,如 -

print(test.loc[1])
outlook         sunny
temperature      mild
humidity       normal
wind             weak
playtennis        yes
Name: 1, dtype: object

我想把它转换成像 -

这样的东西
outlook.sunny.temperature.mild.humidity.normal.wind.weak.playtennis.yes

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

ser = test.loc[1]

  1. 您可以将此系列转换为包含.to_dict()
  2. 的字典
  3. 然后使用.items()
  4. 将字典转换为键/值元组列表
  5. 然后将元组合并到一个列表中itertools.chain,最后
  6. 使用.join()的句点加入列表项。
  7. Python代码:

    from itertools import chain
    
    '.'.join(chain.from_iterable(ser.to_dict().items()))
    #'outlook.sunny.temperature.mild.humidity.normal....yes'
    

答案 1 :(得分:0)

这是使用列表推导和-m的一种方式:

str.join

或者,您可以import pandas as pd test = pd.DataFrame([['sunny', 'mild', 'normal', 'weak', 'yes']], columns=['outlook', 'temperature', 'humidity', 'wind', 'playtennis']) res = '.'.join([k+'.'+test[k].iloc[0] for k in test]) print(res) 'outlook.sunny.temperature.mild.humidity.normal.wind.weak.playtennis.yes' 列名称和数据框zip

values