Pandas 新手,我一生都无法弄清楚如何在不使用 python 函数的情况下实现单行(因为我正在尝试学习 pandas 并感觉它可以处理这个问题)。提示?
我有一个对话话语的数据框,我想创建话语组,其中组大小从列表中输入。
#utterance column in list form
utterance_list = ['this', 'is', 'not', 'working']
df = pd.DataFrame({'utterances': utterance_list})
#list of desired group sizes
sizes = [1, 0, 3]
{insert missing function here}
desired output = ['this', '', 'is not working']
最佳答案
此解决方案仅使用 pandas
和 numpy
。
由于 pandas
将数据存储在 numpy
数组中,因此您没有理由避免使用 numpy
功能。
import pandas as pd, numpy as np
A = np.array(['this', 'is', 'not', 'working'])
sizes = np.array([1, 0, 3])
df = pd.DataFrame({'utterances': utterance_list})
df['utterances'] = np.split(A, sizes.cumsum())
print(df)
# utterances
# 0 [this]
# 1 []
# 2 [is, not, working]
# 3 []
关于python - 从 pandas 数据帧列创建指定长度的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49842069/