小编Ada*_*dam的帖子

Pandas:从数据框中删除反向重复项

我有一个包含两列的数据框,AB.在这种情况下,顺序A和顺序B并不重要; 例如,我会考虑(0,50)(50,0)重复.在pandas中,从数据框中删除这些重复项的有效方法是什么?

import pandas as pd

# Initial data frame.
data = pd.DataFrame({'A': [0, 10, 11, 21, 22, 35, 5, 50], 
                     'B': [50, 22, 35, 5, 10, 11, 21, 0]})
data
    A   B
0   0  50
1  10  22
2  11  35
3  21   5
4  22  10
5  35  11
6   5  21
7  50   0

# Desired output with "duplicates" removed. 
data2 = pd.DataFrame({'A': [0, 5, …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Julia:与数组的布尔比较

我有一个关于Julia中布尔比较的简单问题.如何将以下Matlab代码翻译成Julia?

Matlab的:

% create parameters
o = -3;
mat = [65 -4; 65 -3; 65 -2]

% determine which rows of matrix have column 2 less than o AND column 1 equal to 65.
result = (o < mat(:,2) & mat(:,1) == 65)
Run Code Online (Sandbox Code Playgroud)

我在Julia尝试了以下内容:

# create parameters
o = -3
mat = zeros(3,2)
mat[:,1] = 65
mat[1,2] = -4
mat[2,2] = -3
mat[3,2] = -2
mat

# attempt to create desired result
o .< mat[:,2]                                # this part works
mat[:,1] …
Run Code Online (Sandbox Code Playgroud)

julia

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

朱莉娅:找到矩阵中的行

使用Julia,我想确定行是否位于矩阵中并且(如果适用)行所在的矩阵中的位置.例如,在Matlab中,这可以通过以下方式完成ismember:

a = [1 2 3];
B = [3 1 2; 2 1 3; 1 2 3; 2 3 1]
B =

 3     1     2
 2     1     3
 1     2     3
 2     3     1

ismember(B, a, 'rows')
ans =

 0
 0
 1
 0
Run Code Online (Sandbox Code Playgroud)

由此,我们可以看到a位于第3行B.在朱莉娅有没有类似的功能来实现这一目标?

matrix julia

7
推荐指数
4
解决办法
2639
查看次数

Python Pandas groupby:根据值的条件过滤

考虑如下所示的数据框。

import pandas as pd

# Initialize dataframe
df1 = pd.DataFrame(columns=['bar', 'foo'])
df1['bar'] = ['001', '001', '001', '001', '002', '002', '003', '003', '003']
df1['foo'] = [-1, 0, 2, 3, -8, 1, 0, 1, 2]
>>> print df1
   bar  foo
0  001   -1
1  001    0
2  001    2
3  001    3
4  002   -8
5  002    1
6  003    0
7  003    1
8  003    2

# Lower and upper bound for desired range
lower_bound = -5
upper_bound = 5 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

过滤掉没有足够数量的满足条件的行的组

我有以下熊猫数据框。

import pandas as pd

# Initialize dataframe
df1 = pd.DataFrame(columns=['bar', 'foo'])
df1['bar'] = ['001', '001', '001', '001', '002', '002', '003', '003', '003']
df1['foo'] = [-4, -3, 2, 3, -3, -2, 0, 1, 2]
>>> print df1
   bar  foo
0  001   -4
1  001   -3
2  001    2
3  001    3
4  002   -3
5  002   -2
6  003    0
7  003    1
8  003    2
Run Code Online (Sandbox Code Playgroud)

考虑以下阈值和参数。

# Provide threshold and number of entries above and below threshold
threshold = …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

python 将 Pandas 数据帧、参数和函数传递给 scipy.optimize.minimize

我正在尝试使用 SciPy 的 scipy.optimize.minimize 函数来最小化我创建的函数。但是,我试图优化的函数本身是由其他函数构建的,这些函数执行基于 Pandas DataFrame 的计算。

我知道 SciPy 的最小化函数可以通过元组输入多个参数(例如,scipy 最小化函数的输入结构)。但是,我不知道如何传入依赖于 Pandas DataFrame 的函数。

我在下面创建了一个可重现的示例。

import pandas as pd
import numpy as np
from scipy.stats import norm
from scipy.optimize import minimize


####################     Data     ####################
# Initialize dataframe. 
data = pd.DataFrame({'id_i': ['AA', 'BB', 'CC', 'XX', 'DD'], 
                     'id_j': ['ZZ', 'YY', 'XX', 'BB', 'AA'], 
                     'y': [0.30, 0.60, 0.70, 0.45, 0.65], 
                     'num': [1000, 2000, 1500, 1200, 1700], 
                     'bar': [-4.0, -6.5, 1.0, -3.0, -5.5], 
                     'mu': [-4.261140, -5.929608, 1.546283, -1.810941, -3.186412]})

data['foo_1'] = …
Run Code Online (Sandbox Code Playgroud)

python scipy pandas

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

pandas:合并条件的时间范围

我想将一个数据框与另一个数据框合并,其中合并的条件是日期/时间落在特定范围内.

例如,假设我有以下两个数据框.

import pandas as pd
import datetime

# Create main data frame.
data = pd.DataFrame()
time_seq1 = pd.DataFrame(pd.date_range('1/1/2016', periods=3, freq='H'))
time_seq2 = pd.DataFrame(pd.date_range('1/2/2016', periods=3, freq='H'))
data = data.append(time_seq1, ignore_index=True)
data = data.append(time_seq1, ignore_index=True)
data = data.append(time_seq1, ignore_index=True)
data = data.append(time_seq2, ignore_index=True)
data['myID'] = ['001','001','001','002','002','002','003','003','003','004','004','004']
data.columns = ['Timestamp', 'myID']

# Create second data frame.
data2 = pd.DataFrame()
data2['time'] = [pd.to_datetime('1/1/2016 12:06 AM'), pd.to_datetime('1/1/2016 1:34 AM'), pd.to_datetime('1/2/2016 12:25 AM')]
data2['myID'] = ['002', '003', '004']
data2['specialID'] = ['foo_0', 'foo_1', 'foo_2']

# Show …
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

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

R ggplot2:绘制连接地图上点对的多条线段

考虑具有多对点的地图。使用ggplot2,如何将每对点与线段连接起来?

考虑以下可重现的示例。

# Load libraries.
library(ggmap)    # for getting map
library(ggplot2)  # for plots

# Create data frame of points on the map.
data <- data.frame(p1 = c(1, 3, 5), p2 = c(2, 4, 6), 
                   lat_p1 = c(37.78, 37.75, 37.73), 
                   lon_p1 = c(-122.41, -122.40, -122.405), 
                   lat_p2 = c(37.77, 37.75, 37.72), 
                   lon_p2 = c(-122.43, -122.42, -122.415))
data
  p1 p2 lat_p1   lon_p1 lat_p2   lon_p2
1  1  2  37.78 -122.410  37.77 -122.430
2  3  4  37.75 -122.400  37.75 -122.420
3  5 …
Run Code Online (Sandbox Code Playgroud)

maps r ggplot2

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

pandas:groupby并计算每组中第一个元素的时差

在pandas中,我想按列中的值对数据进行分组,然后计算每个时间戳与该组中第一个时间戳之间的时间差.

例如,请考虑以下DataFrame:

# Create data. 
d = {'foo': ['001', '001', '002', '002', '002'], 
     'timestamp': ['2015-02-24 19:12:00', '2015-02-24 21:38:00', '2015-02-25 03:41:00', '2015-02-25 03:44:00', '2015-02-25 03:49:00']}
df = pd.DataFrame(d, columns = ['foo', 'timestamp'])
df['timestamp'] = pd.DatetimeIndex(pd.to_datetime(df['timestamp'])).tz_localize('UTC')
>>> print df
   foo                 timestamp
0  001 2015-02-24 19:12:00+00:00
1  001 2015-02-24 21:38:00+00:00
2  002 2015-02-25 03:41:00+00:00
3  002 2015-02-25 03:44:00+00:00
4  002 2015-02-25 03:49:00+00:00
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

   foo                 timestamp    output
0  001 2015-02-24 19:12:00+00:00       NaT
1  001 2015-02-24 21:38:00+00:00  02:26:00
2  002 2015-02-25 03:41:00+00:00       NaT
3  002 …
Run Code Online (Sandbox Code Playgroud)

python time-series pandas

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

标签 统计

pandas ×6

python ×6

julia ×2

dataframe ×1

datetime ×1

ggplot2 ×1

maps ×1

matrix ×1

r ×1

scipy ×1

time-series ×1