0
A
回答
1
你可能分裂的每個值和然後應用計數方法。參見在實施例下面
df = pd.DataFrame.from_dict({'POSITION':['FRONT|FRONT|BACK|BACK|BACK'], 'TYPE': ['EXIT|EXIT|EXIT|WINDOW']})
df = df.assign(EXIT_CNTR = lambda x: x.TYPE.apply(lambda y: y.split('|').count('EXIT')))
df = df.assign(WINDOW_CNTR = lambda x: x.TYPE.apply(lambda y: y.split('|').count('WINDOW')))
df = df.assign(FRONT_CNTR = lambda x: x.POSITION.apply(lambda y: y.split('|').count('FRONT')))
df = df.assign(BACK_CNTR = lambda x: x.POSITION.apply(lambda y: y.split('|').count('BACK')))
結果
1
的技巧是使用collections.Counter
In [1]: from collections import Counter
In [2]: s = pd.Series(["AAA|BBB"])
In [3]: s.str.split("|").apply(Counter).apply(pd.Series)
Out[3]:
AAA BBB
0 1 1
雖然,你可能還需要重命名和Concat的這些(假設你的DataFrame
被稱爲df
):
# Counting
positions = df["POSITION"].str.split("|").apply(Counter).apply(pd.Series)
types = df["TYPE"].str.split("|").apply(Counter).apply(pd.Series)
# Tidying
positions = positions.fillna(0).add_suffix("_CNT")
types = types.fillna(0).add_suffix("_CNT")
# Joining
df = pd.concat([df, positions, types], axis=1)
相關問題
- 1. 熊貓數據幀計算
- 2. 統計熊貓數據幀中某些詞的出現次數
- 3. 熊貓數據幀:在數據幀
- 4. 聚集在大熊貓據幀計數
- 5. 大熊貓數據幀合計計算
- 6. 計算IDF上的熊貓數據幀
- 7. 在熊貓數據幀蟒
- 8. Forex_python在熊貓數據幀
- 9. 在熊貓數據幀
- 10. 在大熊貓數據幀
- 11. 在大熊貓數據幀
- 12. 大熊貓 - 在數據幀
- 13. 在大熊貓數據幀
- 14. 在熊貓數據幀
- 15. 大熊貓:在數據幀
- 16. 在熊貓數據幀
- 17. 數據在數據幀的熊貓
- 18. 熊貓數據幀平均計算
- 19. 做的熊貓數據幀
- 20. 熊貓 - 列的數據幀
- 21. 計算大熊貓數據幀中字符的最大出現次數
- 22. 熊貓數據幀格式輸出
- 23. 熊貓數據幀輸出到JSON
- 24. 熊貓數據幀to_csv格式輸出
- 25. 出口數據幀(熊貓)到excel
- 26. 檢查熊貓數據幀
- 27. 熊貓分層數據幀
- 28. 熊貓樞軸數據幀
- 29. 子集熊貓數據幀
- 30. 從熊貓數據幀