小编Sco*_*ton的帖子

在熊猫条件下增加添加

对于以下熊猫数据框

    servo_in_position   second_servo_in_position    Expected output
0   0   1   0
1   0   1   0
2   1   2   1
3   0   3   0
4   1   4   2
5   1   4   2
6   0   5   0
7   0   5   0
8   1   6   3
9   0   7   0
10  1   8   4
11  0   9   0
12  1   10  5
13  1   10  5
14  1   10  5
15  0   11  0
16  0   11  0
17  0   11  0
18  1   12 …
Run Code Online (Sandbox Code Playgroud)

python pandas

10
推荐指数
4
解决办法
519
查看次数

如何将转换后的旋转div居中?

如何在"HTML"表的第一列和第三列中居中"ABC"和"ABCDEFGHIJ"文本?我尝试了HTML标签text-align,但我认为翻译阻止了这种对齐.

td.rotate div {
  transform: translate(68px, 55px) rotate(270deg);
  white-space: nowrap;
  height: 150px;
  translate-origin: left top;
  width: 25px;
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<table border="2px">
  <tr>
    <td class="rotate">
      <div>ABC</div>
    </td>
    <td>123</td>
    <td class="rotate">
      <div>ABCDEFGHIJ</div>
    </td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

html css

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

我如何估计大熊猫时间序列的周期性

有没有办法近似熊猫时间序列的周期性?对于R,xts对象有一个调用的方法periodicity就是为了这个目的.有没有实现的方法呢?

例如,我们可以推断出不指定频率的时间序列的频率吗?

import pandas.io.data as web
aapl = web.get_data_yahoo("AAPL")

<class 'pandas.tseries.index.DatetimeIndex'>
[2010-01-04 00:00:00, ..., 2013-12-19 00:00:00]
Length: 999, Freq: None, Timezone: None
Run Code Online (Sandbox Code Playgroud)

这个系列的频率可以合理地近似为每日.

更新:

我认为显示R的周期性方法实现的源代码可能会有所帮助.

function (x, ...) 
{
    if (timeBased(x) || !is.xts(x)) 
        x <- try.xts(x, error = "'x' needs to be timeBased or xtsible")
    p <- median(diff(.index(x)))
    if (is.na(p)) 
        stop("can not calculate periodicity of 1 observation")
    units <- "days"
    scale <- "yearly"
    label <- "year"
    if (p < 60) {
        units <- "secs"
        scale <- …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何扫描 Pandas 数据框的所有大于某值的值并返回与该值对应的行号和列号?

我有一个问题,我有像下面这样的巨大数据集(Correl Coef 矩阵)

  A           B           C           D           E
A 1,          0.413454352,0.615350574,0.479720098,0.34261232
B 0.413454352,1,          0.568124328,0.316543449,0.361164436
C 0.615350574,0.568124328,1,          0.633182519,0.790921334
D 0.479720098,0.316543449,0.633182519,1,          0.450248008
E 0.34261232, 0.361164436,0.790921334,0.450248008,1
Run Code Online (Sandbox Code Playgroud)

我想获取此数据框中的所有值,其中单元格值大于 0.6 它应该与行名称和列名称一起使用,如下所示

   row_name col_name value
1  A        C        0.61
2  C        A        0.61
3  C        D        0.63
3  C        E        0.79
4  D        C        0.63
5  E        C        0.79
Run Code Online (Sandbox Code Playgroud)

如果我们也可以忽略 (A,C) 或 (C,A) ..那就更好了。

我知道我可以使用 for 循环来做到这一点,但这种方法对于大数据集效率不高。

python dataframe pandas

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

所有大熊猫细胞的词形还原

我有一个熊猫数据帧.有一列,我们将其命名为:'col'此列的每个条目都是一个单词列表.['word1','word2'等]

如何使用nltk库有效地计算所有这些单词的引理?

import nltk
nltk.stem.WordNetLemmatizer().lemmatize('word')
Run Code Online (Sandbox Code Playgroud)

我希望能够在pandas数据集的一列中找到所有单元格的所有单词的引理.

我的数据类似于:

import pandas as pd
data = [[['walked','am','stressed','Fruit']],[['going','gone','walking','riding','running']]]
df = pd.DataFrame(data,columns=['col'])
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何减少数据帧熊猫中的列

这里df数据框中的datalooks如何:

        A   B   C   D
0.js    2   1   1  -1
1.js    3  -5   1  -4
total   5  -4   2  -5
Run Code Online (Sandbox Code Playgroud)

我会得到新的数据帧df1:

        A     C
0.js    2     1
1.js    3     1
total   5     2
Run Code Online (Sandbox Code Playgroud)

所以基本上它应该是这样的: df1 = df[df["total"] > 0] 但它应该过滤行而不是列,我无法弄清楚..

python dataframe pandas

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

在不是NaN的列中查找第一个和/或最后一个值的索引

我正在处理钻孔的地下测量,其中每种测量类型都覆盖不同的深度范围。在这种情况下,深度被用作索引。

我需要找到每种测量类型的第一次和/或最后一次出现的数据(非NaN值)的深度(索引)。

获取数据框第一行或最后一行的深度(索引)很容易:df.index[0]df.index[-1]。诀窍在于找到任何给定列的第一个或最后一个非NaN出现的索引。

df = pd.DataFrame([[500, np.NaN, np.NaN,     25],
                   [501, np.NaN, np.NaN,     27],
                   [502, np.NaN,     33,     24],
                   [503,      4,     32,     18],
                   [504,     12,     45,      5],
                   [505,      8,     38, np.NaN]])
df.columns = ['Depth','x1','x2','x3']
df.set_index('Depth')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

理想解决方案对于x1的首次出现将产生503的索引(深度),对于x2的首次出现将产生502(索引),对于x3的最后一次出现将产生504(索引)。

python numpy dataframe pandas

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

python如何查找从2019年12月开始的每个月的天数,并在两个日期列之间向前推进

我有两个日期列“StartDate”和“EndDate”。我想找到从 2019 年 12 月开始的这两个日期之间每个月的天数,并忽略 2019 年之前的任何月份进行计算。每行的 StartDate 和 EndDate 可以跨越 2 年,月份重叠,日期列也可以为空。

样本数据:

df = {'Id': ['1','2','3','4','5','6','7', '8'],
      'Item': ['A','B','C','D','E','F','G', 'H'],
        'StartDate': ['2019-12-10', '2019-12-01', '2019-10-01', '2020-01-01', '2019-03-01','2019-03-01','2019-10-01', ''],
        'EndDate': ['2020-02-21' ,'2020-01-01','2020-08-31','2020-01-30','2019-12-31','2019-12-31','2020-08-31', '']
        }
df = pd.DataFrame(df,columns= ['Id', 'Item','StartDate','EndDate'])
Run Code Online (Sandbox Code Playgroud)

预期 O/P:

1

以下解决方案部分有效。

df['StartDate'] = pd.to_datetime(df['StartDate'])
df['EndDate'] = pd.to_datetime(df['EndDate'])

def days_of_month(x):
    s = pd.date_range(*x, freq='D').to_series()
    return s.resample('M').count().rename(lambda x: x.month)

df1 = df[['StartDate', 'EndDate']].apply(days_of_month, axis=1).fillna(0)

df_final = df[['StartDate', 'EndDate']].join([df['StartDate'].dt.year.rename('Year'), df1])
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

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

Pandas stack/groupby 来制作新的数据框

我在创建和重新排列数据集时遇到问题。我查看了 pandas groupby 功能,认为它可能会帮助我做到这一点,但我缺乏经验来实现它。我在下面创建了一个问题的示例:我的 df:

     vehicle  color  a  b  c  d  A1  A2  A3  B1  B2  B3  C1  C2  C3  D1  D2  D3
resp                                                                           
1       bike  green  5  4  1  3   3   4   5   3   5   3 NaN NaN NaN NaN NaN NaN
2       walk    red  5  3  3  3   4   5   3   3   5   4 NaN NaN NaN NaN NaN NaN
3        car  green  4  2  3  3   4   3   5   4   5   5 NaN NaN NaN NaN NaN …
Run Code Online (Sandbox Code Playgroud)

python group-by dataframe pandas

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

按名称列表在Pandas中切片多个列范围

我试图用两种不同的方法在Pandas数据框中选择多个列:

1)通过列号,例如,列1-3和列6以后.

2)通过列名列表,例如:

years = list(range(2000,2017))
months = list(range(1,13))
years_month = list(["A", "B", "B"])
for y in years:
    for m in months:
        y_m = str(y) + "-" + str(m)
        years_month.append(y_m)     
Run Code Online (Sandbox Code Playgroud)

然后,years_month将产生以下内容:

['A',
 'B',
 'C',
 '2000-1',
 '2000-2',
 '2000-3',
 '2000-4',
 '2000-5',
 '2000-6',
 '2000-7',
 '2000-8',
 '2000-9',
 '2000-10',
 '2000-11',
 '2000-12',
 '2001-1',
 '2001-2',
 '2001-3',
 '2001-4',
 '2001-5',
 '2001-6',
 '2001-7',
 '2001-8',
 '2001-9',
 '2001-10',
 '2001-11',
 '2001-12']
Run Code Online (Sandbox Code Playgroud)

也就是说,在这两种方法中,只加载名称在列表years_month中的列的最佳(或正确)方法是什么?

python slice pandas

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

标签 统计

pandas ×9

python ×9

dataframe ×5

numpy ×2

css ×1

group-by ×1

html ×1

slice ×1