我正在处理一个pandas数据帧,我希望在每一行中找到最远的非空值,然后颠倒这些值的顺序,并输出一个行值颠倒的数据帧,而不会在第一列中留下空值。本质上颠倒了列的顺序并将非空值向左移位。 在: 1 2 3 4 5
1 a b c d e
2 a b c
3 a b c d
4 a b c 输出: 1 2 3 4 5
1 e d c b a
2 c b a
3 d c b a
4 c b a
我有df1,这是我使用的滚动数据集,每天更新。
我有df2,它包含一个id_col和一个signal_col。我想基于通用的id_col值更新df1中的signal_cols。
在sql中,它类似于:
INSERT OVERWRITE TABLE my_table
SELECT
COALESCE(my_table_update.signal_col, my_table.signal_col) AS signal_col,
my_table.*
FROM my_table
LEFT OUTER JOIN my_table_update
ON my_table.id_col = m
我有一个类似于下面看到的数据帧。 In[2]: df = pd.DataFrame({'P1': [1, 2, None, None, None, None],'P2': [None, None, 3, 4, None, None],'P3': [None, None, None, None, 5, 6]})
Out[2]:
P1 P2 P3
0 1.0 NaN NaN
1 2.0 NaN NaN
2 NaN 3.0 NaN
3 NaN 4.0 NaN
4 NaN NaN 5.0
5 NaN
我的每一行数据中的最后两个实数都是用误差测量的。我想用np.NAN替换它们。实数的数目随行而异(也就是说,每行已经有不同数量的NAN)。列标题表示测量号,索引是一个在单元格中的实验trial.Values,等于测量读数。有些试验的测量读数比其他的要多;因此,有些行的测量读数比其他的多。下面的代码创建了一个类似于我的数据框架。
import pandas as pd
import numpy as np
data = np.array(([1,2,3,4,5,2,np.NaN],
[2,2,3,2,3,np.NaN,np.NaN],[4,4,5,1,np.NaN,np.
对于每一行,我想随机抽样k个对应于非空值的列索引。 如果我从这个数据帧开始, A = pd.DataFrame([
[1, np.nan, 3, 5],
[np.nan, 2, np.nan, 7],
[4, 8, 9]
])
>>> A
0 1 2 3
0 1.0 NaN 3.0 5.0
1 NaN 2.0 NaN 7.0
2 4.0 8.0 9.0 NaN 如果我想为每一行随机采样2个非空值,并将它们更改为值-1,一种方法如下: B = A.copy()
for i in A.index:
s = A.l
我有一个包含许多空值的稀疏Pandas数据帧,我希望对其进行过滤,以便在最终数据集中只保留具有超过10个浮点型条目的行和列。我尝试使用现有的代码片段,但似乎不起作用: df.drop([col for col, val = df.count(axis=1, numeric_only='float') if val < 10], axis=1, inplace=True) 谁能告诉我在我的数据帧中删除稀疏列的最好方法是什么?
是否可以附加到不包含任何索引或列的空数据框?
我尝试过这样做,但最后总是得到一个空的数据帧。
例如:
import pandas as pd
df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)
结果如下所示:
Empty DataFrame
Columns: []
Index: []
我正在尝试计算pandas数据帧中每一行的最小值。 我想添加一个列,用于计算最小值并忽略"NaN“和"WD” 例如 A B C D
1 3 2 WD
3 WD NaN 2 应该会给我一个新的专栏,比如 Min
1
2 我尝试了df.where(df > 0).min(axis=1)和df.where(df != "NaN").min(axis=1),但没有成功
Python新手。我正在导入一个CSV,如果有任何数据丢失,我需要返回一个带有附加列的CSV,以指示哪些行缺少数据。我的同事建议我将CSV导入到一个数据帧中,然后创建一个带有"Comments“列的新数据帧,在其中填充对目标行的注释,并将其附加到原始数据帧中。我陷入了使用与"dfinput“匹配的正确行数填充新的dataframe "dferr”的步骤。 我搜索过"pandas csv return error column where data is missing",但没有找到任何与创建标记坏行的新CSV相关的内容。我甚至不知道提出的方法是不是最好
我正在尝试跨Pandas数据帧的列进行求和,当每列中都有NaN时,我得到的结果是sum =0;根据文档,我预期sum =NaN。下面是我得到的信息:
In [136]: df = pd.DataFrame()
In [137]: df['a'] = [1,2,np.nan,3]
In [138]: df['b'] = [4,5,np.nan,6]
In [139]: df
Out[139]:
a b
0 1 4
1 2 5
2 NaN NaN
3 3 6
In [140]: df['total'] =