小编cal*_*Guy的帖子

如何将列表附加到熊猫列,系列?

假设我有以下数据框:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

我想col1用 array扩展xtra。但是,这会出错。

xtra = [3,4]
df['col1'].append(xtra)
Run Code Online (Sandbox Code Playgroud)

我如何附加xtradf.col1,以便最终的输出看起来如此?

   col1  col2
0     1     3
1     2     4
2     3     nan
3     4     nan
Run Code Online (Sandbox Code Playgroud)

python append pandas

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

如何合并字符串包含的熊猫?

我有 2 个数据框,我想将它们合并到一个公共列上。但是,我想合并的列不是同一个字符串,而是一个字符串包含在另一个字符串中,如下所示:

import pandas as pd
df1 = pd.DataFrame({'column_a':['John','Michael','Dan','George', 'Adam'], 'column_common':['code','other','ome','no match','word']})

df2 = pd.DataFrame({'column_b':['Smith','Cohen','Moore','K', 'Faber'], 'column_common':['some string','other string','some code','this code','word']})
Run Code Online (Sandbox Code Playgroud)

我想要的结果d1.merge(d2, ...)如下:

column_a  |  column_b
----------------------
John      |  Moore    <- merged on 'code' contained in 'some code' 
Michael   |  Cohen    <- merged on 'other' contained in 'other string'  
Dan       |  Smith    <- merged on 'ome' contained in 'some string'  
George    |  n/a
Adam      |  Faber    <- merged on 'word' contained in 'word'  
Run Code Online (Sandbox Code Playgroud)

python merge pandas

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

如何在空值上折叠 pandas 中的列?

假设我有以下数据框:

pd.DataFrame({'col1':    ["a", "a", np.nan, np.nan, np.nan],
            'override1': ["b", np.nan, "b", np.nan, np.nan],
            'override2': ["c", np.nan, np.nan, "c", np.nan]})


    col1    override1   override2
0     a        b          c
1     a       NaN        NaN
2     NaN      b         NaN
3     NaN     NaN         c
4     NaN     NaN         NaN
Run Code Online (Sandbox Code Playgroud)

有没有办法将 3 列折叠成一列,其中override2overrides override1,它 overrides col1,但是,如果存在 NaN,则要保留前面的值?另外,我主要是在寻找一种不必制作额外专栏的方法。我真的在寻找内置的 pandas 解决方案。

这是我正在寻找的输出:

 collapsed
0  c
1  a
2  b
3  c
4  NaN
Run Code Online (Sandbox Code Playgroud)

python numpy concatenation pandas

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

查找 pandas 系列中所有数据类型的最快方法?

显示 pandas 系列中所有值类型的最快方法是什么?

我知道我可以只执行df.dtypes,但如果列同时具有stringint,它只会返回object,这并不是特别有帮助。

目前我陷入困境:

set(type(x) for x in df['column'])
Run Code Online (Sandbox Code Playgroud)

但是我每次都厌倦了写这个,所以我想知道是否有更好的方法来做到这一点。

python types pandas

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

如何从带有添加列的 csv 复制到 Postgres 表中?

我有一个表Postgres,我想copy intocsv文件中获取。我通常这样做:

\copy my_table from '/workdir/some_file.txt' with null as 'NULL' delimiter E'|' csv header;
Run Code Online (Sandbox Code Playgroud)

但现在的问题是,my_table我想在 上手动填写一列额外的内容copy,并具有相同的值“b”。这是我的表格:

some_file.txt:
col1 | col2 | col3
  0     0      1
  0     1      3

my_table :
xtra_col | col1 | col2 | col3
   a        5      2       5
   a        6      2       5
   a        7      2       5

Desired my_table after copy into:
xtra_col | col1 | col2 | col3
   a        5      2       5
   a        6      2       5
   a …
Run Code Online (Sandbox Code Playgroud)

postgresql copy

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

计算pandas列中的值的频率,其中另一列中的值相似

给定一个pandas dataframe看起来如下column_acolumn_b.如何构造2个附加列,一个计算column_a所有列的每个值的频率,另一个计算值的唯一值,其中值column_a相同:

column_a | column_b | col_a_count | count_unique_b_where_a
  0           1           4         3
  0           1           4         3
  0           2           4         3
  0           3           4         3
  2           0           3         1
  2           0           3         1
  2           0           3         1 
  5           3           1         1
  9           5           6         5 
  9           5           6         5
  9           3           6         5
  9           4           6         5
  9           2           6         5
  9           1           6         5
Run Code Online (Sandbox Code Playgroud)

python frequency count pandas

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

标签 统计

pandas ×5

python ×5

append ×1

concatenation ×1

copy ×1

count ×1

frequency ×1

merge ×1

numpy ×1

postgresql ×1

types ×1