假设我有以下数据框:
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)
我如何附加xtra到df.col1,以便最终的输出看起来如此?
col1 col2
0 1 3
1 2 4
2 3 nan
3 4 nan
Run Code Online (Sandbox Code Playgroud) 我有 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) 假设我有以下数据框:
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) 显示 pandas 系列中所有值类型的最快方法是什么?
我知道我可以只执行df.dtypes,但如果列同时具有string和int,它只会返回object,这并不是特别有帮助。
目前我陷入困境:
set(type(x) for x in df['column'])
Run Code Online (Sandbox Code Playgroud)
但是我每次都厌倦了写这个,所以我想知道是否有更好的方法来做到这一点。
我有一个表Postgres,我想copy into从csv文件中获取。我通常这样做:
\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) 给定一个pandas dataframe看起来如下column_a及column_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)