让我们以此数据框作为一个简单的例子:
df = pd.DataFrame(dict(Col1=[np.nan,1,1,2,3,8,7], Col2=[1,1,np.nan,np.nan,3,np.nan,4], Col3=[1,1,np.nan,5,1,1,np.nan]))
Col1 Col2 Col3
0 NaN 1.0 1.0
1 1.0 1.0 1.0
2 1.0 NaN NaN
3 2.0 NaN 5.0
4 3.0 3.0 1.0
5 8.0 NaN 1.0
6 7.0 4.0 NaN
Run Code Online (Sandbox Code Playgroud)
我想首先删除第一行和最后一行,直到第一行和最后一行不再有 NaN 为止。
中间预期产出:
Col1 Col2 Col3
1 1.0 1.0 1.0
2 1.0 NaN NaN
3 2.0 NaN 5.0
4 3.0 3.0 1.0
Run Code Online (Sandbox Code Playgroud)
然后,我想用下面的不是 NaN 的最接近值和上面的值的平均值替换剩余的 NaN。
最终预期输出:
Col1 Col2 Col3
0 1.0 1.0 1.0
1 1.0 2.0 3.0
2 2.0 2.0 5.0 …Run Code Online (Sandbox Code Playgroud) 让我们看一下这个示例数据框:
df = pd.DataFrame({"Day":['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
'Proportion':[0.24495486, 0.17300189, 0.23019185, 0.15408692, 0.17827757,0.01100911, 0.0084778]})
Day Proportion
0 Monday 0.244955
1 Tuesday 0.173002
2 Wednesday 0.230192
3 Thursday 0.154087
4 Friday 0.178278
5 Saturday 0.011009
6 Sunday 0.008478
Run Code Online (Sandbox Code Playgroud)
我想使用plotlyexpress通过饼图可视化这个数据框。我构建了以下功能:
import plotly.express as px
def plot_pie_graph(df_graph,col_names,col_values, title_x = "axis_x",title_y="axis_y",title = "Graphe",
color_discrete_map = {}, save_graph_name = "") :
if title_x == "axis_x" :
title_x = col_names
if title_y == "axis_y":
title_y = col_values
fig = px.pie(df_graph, values = col_values, names …Run Code Online (Sandbox Code Playgroud) 让我们以这个简单的数据框为例:
df = pd.DataFrame(dict(Name=['abc','d',np.nan,'vbnc'],NoMatter=[0,6,2,3]))
Name NoMatter
0 abc 0
1 d 6
2 NaN 2
3 vbnc 3
Run Code Online (Sandbox Code Playgroud)
我想在列 Name 中删除前两个字符串之后的所有字符。
预期输出:
Name NoMatter
0 ab 0
1 d 6
2 NaN 2
3 vb 3
Run Code Online (Sandbox Code Playgroud)
请问我该怎么办?
让我们以这些示例列表为例:
L_main = [1,2,3,4,5,6,7,8,9]
L1 = [1,7,3,12]
L2 = [0,2,51,5,9]
L3 = [3,2,8]
Run Code Online (Sandbox Code Playgroud)
我想创建一个列表,其中包含既不在 L1 中,也不在 L2 中,也不在 L3 中的 L_main 值。下面的代码完成了这项工作,但是对于大列表来说真的很慢:
[i for i in L_main if i not in L1 and i not in L2 and i not in L3]
Run Code Online (Sandbox Code Playgroud)
你知道更有效的方法吗?
预期结果 :
[4,6]
Run Code Online (Sandbox Code Playgroud)