maxframe.dataframe.DataFrame.mf.collect_kv#
- DataFrame.mf.collect_kv(columns=None, kv_delim='=', item_delim=',', kv_col='kv_col')#
将指定列中的值合并为一个以键值对表示的列。
- 参数:
- 返回:
转换后的数据框
- 返回类型:
示例
>>> import maxframe.dataframe as md
>>> df = md.DataFrame({"name": ["name1", "name2", "name3", "name4", "name5"], ... "k1": [1.0, NaN, 7.1, NaN, NaN], ... "k2": [3.0, 3.0, NaN, 1.2, 1.0], ... "k3": [NaN, 5.1, NaN, 1.5, NaN], ... "k5": [10.0, NaN, NaN, NaN, NaN,], ... "k7": [NaN, NaN, 8.2, NaN, NaN, ], ... "k9": [NaN, NaN, NaN, NaN, 1.1]}) >>> df.execute() name k1 k2 k3 k5 k7 k9 0 name1 1.0 3.0 NaN 10.0 NaN NaN 1 name2 NaN 3.0 5.1 NaN NaN NaN 2 name3 7.1 NaN NaN NaN 8.2 NaN 3 name4 NaN 1.2 1.5 NaN NaN NaN 4 name5 NaN 1.0 NaN NaN NaN 1.1
要合并的字段名由 columns 指定,kv_delim 用于分隔键和值,默认为 '=';item_delim 用于分隔键值对,默认为 ',';新列名由 kv_col 指定,默认为 'kv_col'
>>> df.mf.collect_kv(columns=['k1', 'k2', 'k3', 'k5', 'k7', 'k9']).execute() name kv_col 0 name1 k1=1.0,k2=3.0,k5=10.0 1 name2 k2=3.0,k3=5.1 2 name3 k1=7.1,k7=8.2 3 name4 k2=1.2,k3=1.5 4 name5 k2=1.0,k9=1.1