熊猫一线加盟系列元素

时间:2020-10-22 16:01:45

标签: python pandas

我在玩熊猫方法,遇到一个问题。 我可以用逗号加入熊猫系列的元素吗?

MWE

j = {
  "locations": [
    {"name": "Seattle", "state": "WA"},
    {"name": "New York", "state": "NY"},
    {"name": "Bellevue", "state": "WA"},
    {"name": "Olympia", "state": "WA"}
  ]
}

df = pd.DataFrame(j['locations'])
ans = df.query("state=='WA'")['name'].sort_values()[-2:]

ans = df.query("state=='WA'")['name'].sort_values()[-2:].pipe(str.join) # this is my attempt but it does not work

必填项

'Olympia, Seattle'

# NOTE:
obviously I can do ', '.join(ser.values)
but I am looking for pipe method.

2 个答案:

答案 0 :(得分:1)

您不想将join用管道传输到数据框中,而是用str.join完整的数据框:

ans = ', '.join(df.query("state=='WA'")['name'].sort_values().iloc[-2:].tolist())

另外-使用iloc[-2:]而非仅使用[-2:]会更安全,因为您将不必再依赖索引为数字0, 1, 2, 3, ...了。

答案 1 :(得分:1)

import pandas as pd
j = {
  "locations": [
    {"name": "Seattle", "state": "WA"},
    {"name": "New York", "state": "NY"},
    {"name": "Bellevue", "state": "WA"},
    {"name": "Olympia", "state": "WA"}
  ]
}

df = pd.DataFrame(j['locations'])

ans = df.query("state=='WA'")['name'].sort_values()[-2:]
ans.pipe(', '.join)