Python 如何将列表项附加到数据框中的特定列?
假设我有一个包含n项的字符串列表,比如:Python 如何将列表项附加到数据框中的特定列?,python,python-3.x,pandas,list,dataframe,Python,Python 3.x,Pandas,List,Dataframe,假设我有一个包含n项的字符串列表,比如: list1 = ['a','b',..'y','z'] 我不想将整个列表追加到一个数据框(这会创建n列),我只想将第一项追加到第一列,将最后一项追加到最后一列,并将两者之间的所有内容合并到中间的列中 我试过了 df = pd.DataFrame(list1) 但这会为每个字符串项创建一个单独的列,从而产生n列 我希望输出为3列的数据帧,例如: 0 1 2 0 a b+c
list1 = ['a','b',..'y','z']
我不想将整个列表追加到一个数据框(这会创建n列),我只想将第一项追加到第一列,将最后一项追加到最后一列,并将两者之间的所有内容合并到中间的列中
我试过了
df = pd.DataFrame(list1)
但这会为每个字符串项创建一个单独的列,从而产生n列
我希望输出为3列的数据帧,例如:
0 1 2
0 a b+c+d+.. z
请帮个忙 您可以分别解压列表的第一个值、中间值和结束值,并从这些值构造数据帧:
a, *b, c = list1
pd.DataFrame([a, b, c]).T
0 1 2
0 a [b, c ... y] z
如果要将midde中的项目合并为字符串,可以执行以下操作:
pd.DataFrame([a, ''.join(b), c]).T
0 1 2
0 a bcd...y z
在这些情况下,一种干净的解包方法是使用,就像在本例中一样,它允许您“捕获”iterable中的所有元素,这取决于哪些其他元素也被单独分配。在这种情况下,
b
将包含a
和c
之间的所有元素。那么,您可以手动执行以下操作:
a, *b, c = list1
df = pd.DataFrame([a, b, c]).T
0 1 2
0 a [b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, ... z
@yatu应该有一个——最好只有一个——显而易见的方法来做到这一点+我发了一封信:)