假设我有一个名为df1的Python/Pandas数据帧,其中包含列a和b,每个列只有一条记录(a =1和b= 2)。我想创建第三列c,它的值等于a+b或3。
使用Pandas,我会写道:
df1['c'] = df1['a'] + df1['b']
我更喜欢写一些更简单、更容易阅读的东西,比如下面这样:
with df1:
c = a + b
SAS允许在其“数据步骤”中使用这种更简单的语法。如果Python/Pandas有类似的东西,我会很高兴的。
非常感谢!肖恩
下面的代码查找B列的任何字符串。是否可以循环遍历数据帧的多个列,输出包含每列字符串的单元格? import pandas as pd
for i in df:
print(df[df['i'].str.contains(r'^[a-zA-Z]+$')]) 链接到https://stackoverflow.com/a/65410078/12801962上的代码
我对numpy和pandas比较陌生(我是一个实验物理学家,所以我使用ROOT已经有很多年了……)。ROOT中的一个常见图是2D散点图,在给定x和y值列表的情况下,生成一个变量与另一个变量的“热图”型散点图。
如何使用numpy和Pandas最好地实现这一点?我正在尝试使用Dataframe.plot()函数,但我甚至在努力创建数据帧。
import numpy as np
import pandas as pd
x = np.random.randn(1,5)
y = np.sin(x)
df = pd.DataFrame(d)
首先,这个数据帧的形状是(1,2),但我希望它的形状是(5,2
我正在尝试使用pandas来拆分一个类似如下的tsv文件: X y X y 空行 X y z a b c X y z a b c 分成两个单独的数据帧,一个包含空行之前的一半,另一个包含文件的其余部分-这是因为我不能将整个文件读取到一个数据帧中,因为这两个部分的列数不同。 有没有办法建立空行作为第一个数据帧的“停止点”,并将tsv文件的其余部分读取到另一个数据帧中? 目前,我只是通过使用pd.read_csv(file_name,skiprows = 3,delimiter = '\t')跳过行来解决这个问题,但是使用这种方法不是一个很好的方法。 谢谢!
我有一个数据帧,如下所示:
loc status ID
0 LA NaN NaN
1 CHC NaN NaN
2 NYC ARR 32
3 CHC DEP 45
4 SEA NaN NaN
我正在尝试根据status列来填充ID列中缺少的值。如果status列是"ARR":我想向后填充,如果status列是"DEP":我想向前填充,这样我的最终数据帧将如下所示:
loc status ID
0 LA NaN 32
1 CHC NaN 32
2 NYC ARR 32