我有一个清单,我正试图增加一个价值,但我不确定最好的方法来做到这一点。我读到过.insert()是最好的方法,但是在尝试了两种不同的方法之后,我似乎无法让它发挥作用。
我试过了
df_full_modified = df_full['date', 'b_clicks', 'b_cpc'].insert(0, ['date', 'b_clicks', 'b_cpc'])回传
TypeError: insert() missing 1 required positional argument: 'value'并尝试为columns参数添加一个值。
df_full_modified = df_full['date', 'b_clicks', 'b_cpc'].insert(0, ['date', 'b_clicks', 'b_cpc'], ['date', 'b_clicks', 'b_cpc'])回传
ValueError: Length of values does not match length of index当我试图将数组映射到insert()方法时,是不是遗漏了什么?
以下是数据帧df_full的格式
[['2018-01-01', '72', 2.43], ['2018-01-02', '232', 2.8], ['2018-01-03', '255', 2.6], ...我正试着把['date', 'b_clicks', 'b_cpc']做好
[['date', 'b_clicks', 'b_cpc'], ['2018-01-01', '72', 2.43], ['2018-01-02', '232', 2.8], ['2018-01-03', '255', 2.6], ...发布于 2018-12-14 16:00:17
你已经有这样的df了:
date b_clicks b_cpc
0 2018-01-01' 72 2.43
1 2018-01-02' 232 2.80
2 2018-01-03' 255 2.60你想在顶部插入一行。df.insert将列插入到指定的位置,而不是一行。看起来,您理解可以使用列表来完成此操作,因此您可以通过创建一个新列表,并使用您指定的单词创建一个新列表,并将您已经拥有的df连接到新列表中,从而执行相同的操作:
data = []
data.insert(0, {'date': 'date', 'b_clicks': 'b_clicks', 'b_cpc': 'b_cpc'})
df_full_modified = pd.concat([pd.DataFrame(data), df], ignore_index=True)产出:
>>> df_full_modified
b_clicks b_cpc date
0 b_clicks b_cpc date
1 72 2.43 2018-01-01'
2 232 2.8 2018-01-02'
3 255 2.6 2018-01-03'发布于 2018-12-14 15:47:27
如果我正确理解您的初步立场,那么所提供的列表将存储在熊猫系列中,例如:
a = pd.Series([['2018-01-01', '72', 2.43], ['2018-01-02', '232', 2.8], ['2018-01-03', '255', 2.6]])如果是,那么您只需为['date', 'b_clicks', 'b_cpc']变量创建一个Series,如下所示:
b = pd.Series({['date', 'b_clicks', 'b_cpc']])最后将b附加到a中。
b = b.append(a)但是,使用这种方法,您将不得不在本系列的开始时选择0英寸。我不知道它是否困扰着你。
https://stackoverflow.com/questions/53782623
复制相似问题