部分答案可以在这里找到(How to select rows from a DataFrame based on column value?),但它仅适用于一列。我想知道如何将其应用于多列(本例中为两列)中的配对值。
我有一个数据框 df ,其中过滤列是 B 和 C (NaN 代表空单元格):
A B C D
0 1 Blue Green 4
1 2 Blue Green 6
2 3 Blue Green 2
3 4 Blue NaN 6
4 5 Blue NaN 9
5 6 NaN Green 8
6 7 Blue Green 8
7 8 NaN NaN 9
8 9 NaN Green 1
9 10 NaN Green 2
Run Code Online (Sandbox Code Playgroud)
我只想保留 B='Blue' 和 C='Green' 的 …
使用 Plotly 绘制图形时,有没有办法一次为整个图形设置字体(这样您就不必为图形中的每个元素单独设置字体)?
对于 MatPlotLib,这是通过以下方式完成的:
matplotlib.pyplot.rcparams["font.family"] = "Calibri"
Run Code Online (Sandbox Code Playgroud)
对于 Plotly,这是通过以下方式完成的:
?????
Run Code Online (Sandbox Code Playgroud) 对两个 Pandas 列求和时,当两列之一是浮点数时,我想忽略 nan 值。但是,当 nan 出现在两列中时,我想将 nan 保留在输出中(而不是 0.0)。
初始数据帧:
Surf1 Surf2
0 0
NaN 8
8 15
NaN NaN
16 14
15 7
Run Code Online (Sandbox Code Playgroud)
期望的输出:
Surf1 Surf2 Sum
0 0 0
NaN 8 8
8 15 23
NaN NaN NaN
16 14 30
15 7 22
Run Code Online (Sandbox Code Playgroud)
尝试过的代码: -> 下面的代码忽略了 nan 值,但是当取两个 nan 值的总和时,它在输出中给出 0.0,在这种情况下,我想将其保留为 NaN,以将这些空值与以下值分开求和后实际上为0。
import pandas as pd
import numpy as np
data = pd.DataFrame({"Surf1": [10,np.nan,8,np.nan,16,15], "Surf2": [22,8,15,np.nan,14,7]})
print(data)
data.loc[:,'Sum'] = data.loc[:,['Surf1','Surf2']].sum(axis=1)
print(data)
Run Code Online (Sandbox Code Playgroud) 我想将日期时间列中的年份提取到新的“yyyy”列中,并且希望将缺失值 (NaT) 显示为“NaN”,因此新列的日期时间数据类型应该是我想已经改变了,但我被困住了..
\n\n初始 df:
\n\n Date ID\n0 2016-01-01 12\n1 2015-01-01 96\n2 NaT 20\n3 2018-01-01 73\n4 2017-01-01 84\n5 NaT 26\n6 2013-01-01 87\n7 2016-01-01 64\n8 2019-01-01 11\n9 2014-01-01 34\nRun Code Online (Sandbox Code Playgroud)\n\n所需的 df:
\n\n Date ID yyyy\n0 2016-01-01 12 2016\n1 2015-01-01 96 2015\n2 NaT 20 NaN\n3 2018-01-01 73 2018\n4 2017-01-01 84 2017\n5 NaT 26 NaN\n6 2013-01-01 87 2013\n7 2016-01-01 64 2016\n8 2019-01-01 11 2019\n9 2014-01-01 34 2014\nRun Code Online (Sandbox Code Playgroud)\n\n代码:
\n\nimport pandas as pd\xe2\x80\xa8\nimport numpy as np\xe2\x80\xa8\xe2\x80\xa8\n\n# example df\ndf = pd.DataFrame({"ID": …Run Code Online (Sandbox Code Playgroud) 我想取以相同文本字符串开头的列的值的总和(按行)。下面是我的原始 df 课程失败。
原始df:
ID P_English_2 P_English_3 P_German_1 P_Math_1 P_Math_3 P_Physics_2 P_Physics_4
56 1 3 1 2 0 0 3
11 0 0 0 1 4 1 0
6 0 0 0 0 0 1 0
43 1 2 1 0 0 1 1
14 0 1 0 0 1 0 0
Run Code Online (Sandbox Code Playgroud)
所需的 df:
ID P_English P_German P_Math P_Physics
56 4 1 2 3
11 0 0 5 1
6 0 0 0 1
43 3 1 0 2
14 …Run Code Online (Sandbox Code Playgroud)