我在玩熊猫方法,遇到一个问题。 我可以用逗号加入熊猫系列的元素吗?
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.
答案 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)