小编igo*_*rkf的帖子

list(df['column']) 和 df['column'].to_list() 有什么区别?

当我想要来自 DataFrame 列 ( pandas 1.0.1)的列表时,我可以执行以下操作:

 df['column'].to_list()
Run Code Online (Sandbox Code Playgroud)

或者我可以使用:

list(df['column'])
Run Code Online (Sandbox Code Playgroud)

这两种替代方案效果很好,但它们之间有什么区别?
一种方法比另一种更好吗?

python list pandas

3
推荐指数
1
解决办法
197
查看次数

为所有网格设置 xticklabels,用于使用 col_wrap 使用 seaborn catplot 创建的绘图

我使用以下方法创建了一个绘图:

g = sns.catplot(x='loja', y='preco', col='Descr. Grupo', col_wrap=3, capsize=.2, height=4, aspect=1.2,
            kind='point', sharey=False, data=df_long)
Run Code Online (Sandbox Code Playgroud)

该图构建了 10 个网格,但只有最后 3 个网格具有xticklabels我想要的。
我们可以看到如下:

for ax in g.axes:
    print(ax.get_xticklabels())   
<a list of 0 Text major ticklabel objects>
<a list of 0 Text major ticklabel objects>
<a list of 0 Text major ticklabel objects>
<a list of 0 Text major ticklabel objects>
<a list of 0 Text major ticklabel objects>
<a list of 0 Text major ticklabel objects>
<a list of 0 Text …
Run Code Online (Sandbox Code Playgroud)

python seaborn

3
推荐指数
1
解决办法
1358
查看次数

找到第一个 True 时停止循环

当我找到第一个 True 时,我想停止迭代,如下所示:

>> for x in ['a', 'b', 1, 2, 3]:
>>    if isinstance(x, int):
>>        print(x)
>>        break

 1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做同样的事情但使用列表理解for 循环?

python for-loop list-comprehension break

2
推荐指数
2
解决办法
2419
查看次数

在 python 中为字符串字段创建嵌套列表

我有以下输入数据。我可以为除最后一个字段之外的所有其他字段创建嵌套列表。最后一个字符串字段也可以在单词之间包含空格(例如:Hello!welcome)。

input  = ['a1 a2 a3 a4 Hello! welcome','b1 b2 b3 b4 how are you','c1 c2 c3 c4 you are welcome']
Run Code Online (Sandbox Code Playgroud)

电流输出

[['a1', 'a2', 'a3', 'a4', 'Hello!', 'welcome'],   
 ['b1', 'b2', 'b3', 'b4', 'how', 'are', 'you'],   
 ['c1', 'c2', 'c3', 'c4', 'you', 'are', 'welcome']] 
Run Code Online (Sandbox Code Playgroud)

预期输出:

[['a1', 'a2', 'a3', 'a4','Hello! welcome'],     
 ['b1', 'b2', 'b3', 'b4','how are you'],   
 ['c1', 'c2', 'c3', 'c4','you are welcome']]    
Run Code Online (Sandbox Code Playgroud)

下面的代码行产生如上的当前输出,但我需要转换代码以获得预期的结果。任何人都可以让我知道实现预期结果的方法。

for ix in range(len(input) ):
    nested.append(input[ix:ix + 1])

for i in range(len(nested)):
    list1.append(nested[i][0].split())
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
115
查看次数

标签 统计

python ×4

break ×1

for-loop ×1

list ×1

list-comprehension ×1

pandas ×1

seaborn ×1