【发布时间】:2020-07-19 05:28:40
【问题描述】:
我手头有一个数据框,现在我想在该数据框中再添加一列。该列将是一组列表,即,如果数据框的长度为 10,则该列将由 10 个列表组成。每一行与一个列表相关联。我怎么能做这个?最初这些列表将是空白列表,以便我可以进一步附加对象。
【问题讨论】:
标签: python-3.x list dataframe
我手头有一个数据框,现在我想在该数据框中再添加一列。该列将是一组列表,即,如果数据框的长度为 10,则该列将由 10 个列表组成。每一行与一个列表相关联。我怎么能做这个?最初这些列表将是空白列表,以便我可以进一步附加对象。
【问题讨论】:
标签: python-3.x list dataframe
我可以用这个代码回答你的问题(df 的长度是 3 而不是 10)
import pandas as pd
df = pd.DataFrame([{'Name': 'Chris', 'Item Purchased': 'Sponge', 'Cost': 22.50},
{'Name': 'ABC', 'Item Purchased': 'Chocolate', 'Cost': 2.50},
{'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': 5.00}],
index=['Store 1', 'Store 1', 'Store 2'])
df
df['Date'] = [['December 1','December 10'], ['January 1','February 5'], ['mid-
May','mid-September']]
df
【讨论】:
pandas Dataframe 中的新列可以像这样简单地添加:
df['new_column_name'] = your_list
如果your_list 是嵌套的,您可以通过通常的append 函数将新值附加到其元素中(例如,通过df['new_column_name'][0].append(value) 将新值附加到your_list[0])
【讨论】:
我可以给出我认为的问题的答案。
假设我有一个名为 XYZ 的数据集,它有 @ 列 A,B。现在我想再添加一个列 C,它是一组列表,即列表的数量与行数相同。
XYZ = pd.read_csv('untitled.csv', usecols = ['A', 'B']) XYZ['C'] = pd.Series([]*len(XYZ), dtype = object) for i in range(len(XYZ)): XYZ['C'][i] = []
【讨论】: