小编Ian*_*anS的帖子

Python Pandas:如何将列中的所有列表编译为一个唯一列表

我有一个pandas数据帧如下:

在此输入图像描述

如何将所有列表(在'val'列中)组合成一个唯一的列表(set),例如[val1, val2, val33, val9, val6, val7]

我可以使用以下代码解决这个问题.我想知道是否有更简单的方法从列中获取所有唯一值而不迭代数据帧行?

def_contributors=[]
for index, row in df.iterrows():
    contri = ast.literal_eval(row['val'])
    def_contributors.extend(contri)
def_contributors = list(set(def_contributors))
Run Code Online (Sandbox Code Playgroud)

python merge list unique pandas

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

在没有提示的情况下在Linux/CentOS上安装和升级Java

我有以下脚本在Linux OS上下载,安装或更新Java,例如CentOS.还有比周围更好的东西吗?这是一个非常麻烦的脚本,我想要一个更优雅的解决方案.

###INSTALL 
wget http://www.java.net/download/jdk7/binaries/jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin  
chmod a+x jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin  
echo y > answers.txt  
./jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin < answers.txt &>/dev/null  
mkdir /jdk7  
mv /root/jdk1.7.0 /jdk7  
ln -sf /jdk7/bin/java /usr/bin/java  
rm -f jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin  


###UPGRADE  
wget http://www.java.net/download/jdk7/binaries/jdk-7-ea-bin-b117-linux-x64-04_nov_2010.bin  
chmod a+x jdk-7-ea-bin-b117-linux-x64-04_nov_2010.bin  
echo y > answers.txt  
rm -rf /jdk7  
./jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin < answers.txt &>/dev/null  
mv /root/jdk1.7.0 /jdk7  
ln -sf /jdk7/bin/java /usr/bin/java  
rm -f jdk-7-ea-bin-b96-linux-x64-03_jun_2010.bin  
Run Code Online (Sandbox Code Playgroud)

java linux installer centos

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

iframe如何从iframe内部调整ifize(iframe和页面 - 同一个域)

我尝试从iframe内部听取iframe宽度/高度的变化:

$(window).resize(function(){
    alert('1 on inside iframe');
});
Run Code Online (Sandbox Code Playgroud)

要么:

$(window.parent).find('iframe').resize(function(){
    alert('2 on inside iframe');
}); 
Run Code Online (Sandbox Code Playgroud)

但是当iframe大小改变时没有任何反应.(我需要一个跨浏览器的解决方案:IE7,Chrome,Firefox,Safari.)

javascript iframe jquery javascript-events

6
推荐指数
1
解决办法
2万
查看次数

pandas groupby 聚合,总和在底部

这是我的代码:

import StringIO
from pandas import *
import numpy as np

df = read_csv(StringIO.StringIO('''Col1 Col2    A   B
A   D   1   6
A   E   2   7
B   D   3   8
B   E   4   9
C   D   5   19'''), delimiter='\t')


df['buc1'] = cut(df['A'], bins = [0, 2, 6, 8])

aggFunc = {'A': sum,
           'B': np.average
           }
Run Code Online (Sandbox Code Playgroud)

运行后:

df.groupby(['buc1']).agg(aggFunc)
Run Code Online (Sandbox Code Playgroud)

我得到:

         A     B
buc1            
(0, 2]   3   6.5
(2, 6]  12  12.0
(6, 8] NaN   NaN
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 鉴于那里没有值,我如何摆脱底部 (6, 8] 存储桶?
  2. 如何在底部添加总计行,如 Excel 中的数据透视表? …

group-by aggregate subtotal pandas

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

如何在 Jupyter 中使用 JavaScript 选择当前单元格?

我有一个包含 JavaScript 代码的笔记本单元格,我希望代码选择这个特定的单元格。不幸的是, 的行为get_selected_cell取决于我是就地执行单元格,还是执行并选择下面的单元格。

例子:

%%javascript
var cell = Jupyter.notebook.get_selected_cell();
console.log(Jupyter.notebook.find_cell_index(cell));
Run Code Online (Sandbox Code Playgroud)

执行此单元格时,无论我使用Ctrl+Enter还是执行,控制台输出都会有所不同Shift+Enter。在一种情况下,它记录包含 JavaScript 代码的单元格的索引,在另一种情况下记录下面单元格的索引。

有没有办法选择我想要的单元格?

javascript ipython jupyter jupyter-notebook

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

通过将x添加到上一行pandas来填充na值

我有一个数据框,其中包含一个名为SAM的列,其中包含以下数据

SAM
3
5
9
Nan
Nan
24
40
Nan
57
Run Code Online (Sandbox Code Playgroud)

现在我想插入12,1543分别在Nan值(因为9+3=12,12+3=1540+3=43).换句话说,Nan通过添加3到前一行(也可以是Nan)来填充任何行.

我知道这可以通过迭代for循环来完成.但我们能以矢量化的方式做到吗?像一些修改版本ffill(如果我们没有连续的NaN,可以在这里使用)pandas.fillna().

python dataframe pandas

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

在pandas列中提取列表的元素

我有一个DataFrame,其中包含每列的列表,如下例所示,只有两列.

    Gamma   Beta
0   [1.4652917656926299, 0.9326935235505321, float] [91, 48.611034768515864, int]
1   [2.6008354611105995, 0.7608529935313189, float] [59, 42.38646954167245, int]
2   [2.6386970166722348, 0.9785848171888037, float] [89, 37.9011122659478, int]
3   [3.49336632573625, 1.0411524946972244, float]   [115, 36.211134224288344, int]
4   [2.193991200007534, 0.7955134305428825, float]  [128, 50.03563864975485, int]
5   [3.4574527664490997, 0.9399880977511021, float] [120, 41.841146628802875, int]
6   [3.1190582380554863, 1.0839109431114795, float] [148, 55.990072419824514, int]
7   [2.7757359940789916, 0.8889801332053203, float] [142, 51.08885697101243, int]
8   [3.23820908493237, 1.0587479742892683, float]   [183, 43.831293356668425, int]
9   [2.2509032790941985, 0.8896196407231622, float] [66, 35.9377662201882, int]
Run Code Online (Sandbox Code Playgroud)

我想为每一列提取每行列表的第一个位置,以获得如下的DataFrame.

    Gamma   Beta
0   1.4652917656926299  91
1 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

如何自动识别双峰直方图?

我有一个问题,我从一些数据库图像中收到大量直方图。这些直方图表示为向量 (0...255),我必须识别并使用双峰直方图。

是否有一个公式可以自动识别哪些直方图是双峰的,哪些不是?由于它们是数字向量,我可以使用编程语言(Java/C#)来处理它。

文献中有没有软件识别双峰直方图的标准?


以下是我正在使用的直方图和格式输入的 3 个示例。每个直方图都是一个具有 256 (0...255) 个位置的向量。

Histogram 1
8029, 41, 82, 177, 135, 255, 315, 591, 949, 456, 499, 688, 446, 733, 712, 1595, 2633, 3945, 6134, 9755, 9236, 11911, 11888, 9450, 13119, 8819, 5991, 4399, 6745, 2017, 3747, 1777, 2946, 1623, 2151, 454, 3015, 3176, 2211, 1080, 391, 580, 750, 473, 10424, 334, 559, 621, 340, 2794, 1094, 5274, 2822, 204, 389, 728, 268, 15, 1060, 58, 113, 2728, 52, 3166, 11, 103, 522, 107, …
Run Code Online (Sandbox Code Playgroud)

image-processing histogram

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

更改 pandas 图的颜色条

我使用数据框方法绘制了一个图表plot

ax = df1.plot(x='Lat', y='Lon', kind='scatter', c='Thickness')
Run Code Online (Sandbox Code Playgroud)

结果是一个散点图,其中点按 中设置的参数缩放c='Thickness'。图表旁边的颜色条自动接收标签Thickness。我想改变它。

我知道 colorbar 方法set_label,但我不知道如何从axpandasplot函数返回的值访问 colorbar 对象。

如何访问图中的颜色条对象以更改其标签?


为了澄清起见,我添加了图表的图片。我有兴趣更改颜色条的标签。在此输入图像描述

python plot matplotlib dataframe pandas

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

Pandas dataframe.to_csv 文件行彼此不对齐

我想将我的 DataFrame 写入 CSV 文件。结果如下所示。行彼此不对齐。你有什么建议来解决这个问题吗?

代码 :

dataframe.to_csv(data,sep="",index=False,header=False,encoding='ascii',
                 float_format='%10.4f',quoting=csv.QUOTE_NONE, escapechar=" ", mode='a+')
Run Code Online (Sandbox Code Playgroud)

file.csv 的内容:

++++++++++++++++++++++++++
C1 c2 c3 c2
1 1.111 1.111 1.111
2 23.261 1.111 1.111
3 138.383 1.111 1.111
2 228.717 1.111 1.111
5 358.225 1.111 1.111
6 268.173 1.111 1.111
7 577.311 1.111 1.111
8 687.623 1.111 1.111
3 737.357 1.111 1.111
11 317.185 1.111 1.111
11 1116.813 1.111 1.111
12 1126.521 1.111 1.111
13 1151.325 1.111 1.111

22 2273.853 1.111 1.111
23 2583.581 1.111 1.111
22 …

python csv alignment dataframe pandas

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