在Python中,可以使用pandas
库来将单个dataframe
列中的多个键值对字符串拆分成一个新的dataframe
。
首先,需要导入pandas
库:
import pandas as pd
假设有一个dataframe
对象名为df
,其中有一列名为key_value_pairs
,包含多个键值对字符串,格式如下:
key_value_pairs
0 key1:value1,key2:value2,key3:value3
1 key4:value4,key5:value5
2 key6:value6,key7:value7,key8:value8,key9:value9
我们可以使用str.split()
方法将每个字符串拆分成键值对列表,并使用apply()
方法将其应用到整个列上。然后,可以使用pd.DataFrame()
函数将拆分后的键值对列表转换为一个新的dataframe
。
以下是完整的代码示例:
import pandas as pd
# 创建示例dataframe
df = pd.DataFrame({'key_value_pairs': ['key1:value1,key2:value2,key3:value3',
'key4:value4,key5:value5',
'key6:value6,key7:value7,key8:value8,key9:value9']})
# 拆分键值对字符串并创建新的dataframe
new_df = pd.DataFrame(df['key_value_pairs'].str.split(',').apply(lambda x: dict(kv.split(':') for kv in x)).tolist())
# 打印新的dataframe
print(new_df)
运行以上代码,将得到拆分后的新dataframe
:
key1 key2 key3 key4 key5 key6 key7 key8 key9
0 value1 value2 value3 NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN value4 value5 NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN value6 value7 value8 value9
在新的dataframe
中,每个键值对都被拆分成了一个列,并且对应的键和值被放置在相应的位置上。
希望以上内容对你有帮助!如果你对其他问题有疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云