电子表格操作技巧w/Python';熊猫

电子表格操作技巧w/Python';熊猫,python,excel,pandas,data-manipulation,Python,Excel,Pandas,Data Manipulation,我正在给自己上一堂关于使用python和pandas进行数据处理的速成班。我终于厌倦了使用电子表格,想要比R更灵活的东西,所以我决定试试这个。这是一个非常光滑的界面,我正在玩它。然而,在研究不同的技巧时,我一直无法找到基本电子表格函数的备忘单,特别是在向引用其他列的dataframes中的新列添加公式方面 我想知道是否有人可以给我推荐的代码来完成下面的6个标准电子表格操作,这样我就可以更好地了解它是如何工作的。如果您想查看图像的完整大小渲染,只需 如果您想亲自查看电子表格 我对向数据帧添加列已

我正在给自己上一堂关于使用python和pandas进行数据处理的速成班。我终于厌倦了使用电子表格,想要比R更灵活的东西,所以我决定试试这个。这是一个非常光滑的界面,我正在玩它。然而,在研究不同的技巧时,我一直无法找到基本电子表格函数的备忘单,特别是在向引用其他列的dataframes中的新列添加公式方面

我想知道是否有人可以给我推荐的代码来完成下面的6个标准电子表格操作,这样我就可以更好地了解它是如何工作的。如果您想查看图像的完整大小渲染,只需

如果您想亲自查看电子表格

我对向数据帧添加列已经有点熟悉了,主要是我正在努力处理的特定单元格的交叉引用。基本上,我预期的答案大致如下:

table['NewColumn']=(table['given_column']+magic-code-that-I-don't-know).astype(float-or-int-or-whatever)

如果我想使用一个附加的库来完成这些函数中的任何一个,请随意推荐。

一般来说,您需要考虑对列进行矢量化操作,而不是对特定单元格进行操作

因此,例如,如果您有一个
data
列,并且您想要另一个相同但每个值都乘以3的列,那么您可以通过两种基本方式来实现这一点。第一种是“逐单元”操作

df['data_prime'] = df['data'].apply(lambda x: 3*x)
第二种是矢量化方式:

df['data_prime'] = df['data'] * 3

因此,在电子表格中逐列显示:

计数(如果希望从1开始,而不是从0开始,可以在右侧添加1):

运行总数

df['running total'] = df['data'].cumsum()
df['moving average'] = df['running total'] / df['count'].astype('float')
df['new column'] = 0
mask = df['data column'] >= 3
df.loc[mask, 'new column'] = 1
与标量的差异(如果需要,将标量设置为df中的特定值):

移动平均线

df['running total'] = df['data'].cumsum()
df['moving average'] = df['running total'] / df['count'].astype('float')
df['new column'] = 0
mask = df['data column'] >= 3
df.loc[mask, 'new column'] = 1
电子表格中的基本公式

df['running total'] = df['data'].cumsum()
df['moving average'] = df['running total'] / df['count'].astype('float')
df['new column'] = 0
mask = df['data column'] >= 3
df.loc[mask, 'new column'] = 1
我想你自己有足够的钱来做这件事

如果语句

df['running total'] = df['data'].cumsum()
df['moving average'] = df['running total'] / df['count'].astype('float')
df['new column'] = 0
mask = df['data column'] >= 3
df.loc[mask, 'new column'] = 1

这可能会有帮助@哇,这正是我想要的!我会把它通读一遍。非常感谢。优秀的教程!多谢各位,;这非常有帮助。