表通常有m行和n列。但是我们能在python中创建混乱的表吗?
比如:
1 2 3
4 5
6 7 8 9
R编程语言具有自动填充空白或未初始化单元格的“NA”功能。例如,如果我们在R中制作上表,它将类似于:
1 2 3 NA
4 5 NA NA
6 7 8 9
R将根据最大列表自动创建m行。最大列意味着,如果我们再添加一个列比现有表多的行,则R将自动创建新列,并用'NA‘初始化前几行的新列。例如,如果我们添加[A, B, C, D, E, F]作为我的新行。那么R的结果将是:
1 2 3 NA NA NA
4 5 NA NA NA NA
6 7
我管理一个PostgreSQL数据库,并正在开发一个工具,供用户访问数据库的子集。数据库有许多列,此外,我们还使用大量的hstore键来存储特定于数据库中某些行的附加信息。下面的基本例子
A B C hstore
"foo" 1 4 "Fruit"=>"apple", "Pet"=>"dog", "Country"=>"Norway"
"bar" 4
我已经创建了一个列名和行的数据框架。例如
a b c d
1 Nan Nan Nan Nan
2 Nan Nan Nan Nan
3 Nan Nan Nan Nan
现在,我想用tsv文件中的值来填充数据。我的档案如下:
1 b 80
2 c 90
3 a 60
来创建这个
a b c d
1 Nan 80 Nan Nan
2 Nan Nan 90 Nan
3 60 Nan Nan Nan
我可以用我的文件中的值填充数据吗?因此,我希望python查找正确的行和列,并将我的值放在那里。提前感谢!
我有以下csv文件(片段) GENDER FULL_NAME FIRST MIDDLE LAST
M Sam Co Sam Co
F Jen Hill
M Frank Hill Billy Frank Hill Billy
M Phil Tori Vega Phil Tori Vega
M Bob Smith-Oreiley Bob
我想在下面的python中使用dataframe和自定义的应用函数。 Month,1,2,3,4,5
Oct 2018,0.1,0.2,0.3,0.4,NaN
Nov 2018,0.5,1.0,1.5,NaN,NaN 第一行是列标题。我想将每一行进行线性拟合,并将坡度和截距填充到单独的列中。例如,“2018年10月”行的x:[1,2,3,4],y:[0.1,0.2,0.3,0.4]应该提供slope=0.1和intercept=0.0,而“2018年11月”行的x:[1,2,3], y:[0.5,1.0,1.5]应该提供slope=0.5和intercept=0.0。 我正在从列名中获取
pandas中是否有一个方法/内置函数,允许根据列的名称将多个列合并为一个列? 例如,取这3列,其中每一行将仅具有单个非NaN值 +-------+-------+-------+
| name1 | name2 | name3 |
+-------+-------+-------+
| a | NaN | NaN |
| b | NaN | NaN |
| NaN | c | NaN |
| NaN | d | NaN |
| NaN | NaN | e |
| NaN | NaN | f |
我使用Sublime Text 3在Python3中编程。
我有一个包含8列的csv文件,其中两列是空的。在使用pandas读取文件之后,我将遍历各行,从当前行中获取数据,然后使用该数据填充同一行中的两个空条目。
我可以在行中写入数据吗?或者我是否需要创建一个完全不同的文件来存储新完成的csv文件?我应该如何开始?
我试图通过来自该列的随机抽样(例如,样本非NaN值)来填充数据中列中的每个列和每个单元格的NaN/null值。我现在正在做以下工作
for col in df:
count = 0
while True:
sample = df[col].sample(n=1)
count += 1
if pd.notna(sample.item()):
df[col].replace(sample, np.nan, inplace=True)
我在玩Python和熊猫。
我已经创建了一个dataframe,我有一个名为“County”的列(轴1),但是我需要创建一个名为“Region”的列,并像这样填充它(至少我认为是这样):
If County column == 'Suffolk' or 'Norfolk' or 'Essex' then in Region column insert 'East Anglia'
If County column == 'Kent' or 'East Sussex' or 'West Sus
我有一个dataframe,其中列应该是虚拟列(对于每一行,只应该填充一列)。但是,数据中有一些“噪声”:一些行中填充了多个列。我想放下这些行。
假设DataFrame如下所示:
a b c d
0 NaN 1 NaN NaN
1 1 2 3 4
2 1 1 NaN NaN
3 NaN NaN 1 NaN
4 1 NaN 1 NaN
因此,我的预期结果是,行1,2,4
我正在处理一个excel文件,列数不详,这些列可能被填充,也可能不被填充。
我想在dataframe中创建一个新的列,它标识哪些行包含“nan”在中--任何列的。
The df
Col-1 Col-2 ... Col-n has_nans
ok nan ... ok true
ok ok ... ok false
ok ok ... nan true
我曾尝试过以下方法的变体:
df['res'] = df.iloc[:,2:].isna().all(axi
因此,我有两个数据格式:一个是填充某些列的,另一个是填充其他列的,但是缺少以前df中的一些。两者共享一些常见的非空列。
DF1:
FirstName Uid JoinDate BirthDate
Bob 1 20160628 NaN
Charlie 3 20160627 NaN
DF2:
FirstName Uid JoinDate BirthDate
Bob 1 NaN 19910524
Alice 2 NaN 19950403
Result:
FirstName Uid JoinDate
我有一个数据集df,根据附近列中的值,我希望将某些值放在列中:
数据:
dc country type
eu am7
america bww
uk cww
eu dub1
ap hn
所需:
我希望根据类型列中的值填充dc列的特定值。如果类型列中的值为am7,dc值将为1000等。
dc country type
1000 eu am7
500 america bww
200 uk cww
100 eu dub1
200 ap
我正在寻找有关在我的数据框架中填充新列的内容的帮助。我需要的New_column填充基于其他列的内容。 import pandas as pd
df = pd.read_csv('sample.txt')
# the data is imported as one column
df.columns = ['Test']
# split into columns
dfnew = df.Test.str.split(expand=True).rename(columns={0:'Datetime', 1:'P1', 2:'
当我导入一个csv文件时,该文件只包含一个由州和城市组成的列,例如:
ALABAMA
NaN
Birmingham
Montgomery
Huntsville
NaN
CALIFORNIA
NaN
Los Angeles
San Diego
Fresno
NaN
我的问题是,如何将其转换为两个分层列,使其看起来更像以下内容:
ALABAMA Birmingham
Montgomery
Huntsville
CALIFORNIA Los Angeles
San Diego
Fresno
我尝试创建一个e
我有一个看起来像这样的dataframe
Name Total
a 400
b 120
c 500
d 512
e 250
我有一个函数,它接受2个值,并在一些自定义后返回给我一个值,我想为每个Name创建一个column,如下所示
Name Total a b c d e
a 400
b 120
c 500
d 512
对于许多不同的“产品编号”,我有一个具有多个值的数据。我试图对这些值进行求和,并将结果直接写入“产品编号”的第一个实例旁边的一个新列。有关数据,请参见下文。FYI这个dataframe代表了我已经在python中创建的一个大得多的dataframe的片段。
╔═════════════════════════════════════════════╗
║ product number value NEW COLUMN ║
╠═════════════════════════════════════════════╣
║ 1 3
我有一个名为"both“的5kx2列数据帧。我想通过用相邻列的值替换一列中的任何NaN值来创建一个新的5kx1 DataFrame或列(无关紧要)。
例如:
Gains Loss
0 NaN NaN
1 NaN -0.17
2 NaN -0.13
3 NaN -0.75
4 NaN -0.17
5 NaN -0.99
6 1.06 NaN
7 NaN -1.29
8 NaN -0.42
9 0.14 NaN
因此,例如,我需要将第1到5行第一列中的NaNs与第二列中相同行中的值进行交换,以获得以下形式的新df:
我想使用MultiIndex DataFrame轻松地选择DataFrame的部分。我创建了一个空DataFrame,如下所示:
mi = mindex = {'input':['a','b','c'],'optim':['pareto','alive']}
mi = pd.MultiIndex.from_tuples([(c,k) for c in mi.keys() for k in mi[c]])
mc = pd.MultiIndex(names=['Generatio
我正在使用Pandas,我有一个数据框,我们可以在其中填充三个值之一:
ID_1 ID_2 ID_3
abc NaN NaN
NaN def NaN
NaN NaN ghi
NaN NaN jkl
NaN mno NaN
pqr NaN NaN
我的目标是将这三列合并到我的数据框中的一个新列中:
ID_1 ID_2 ID_3 Combined_ID
abc NaN NaN abc
NaN def NaN def
NaN N
我有一个有三列的数据
a b c
[1,0,2]
[0,3,2]
[0,0,2]
并需要根据层次结构创建第四列,如下所示:
如果a列有值,则d列=列a
如果a列没有值,但b有,则列d=列b
如果列a和b没有值,但c有,则列d=列c。
a b c d
[1,0,2,1]
[0,3,2,3]
[0,0,2,2]
我是python的新手,不知道从哪里开始。
编辑:我尝试了以下方法,但如果a列为空或为空,它们都不会返回d列中的值
df['d'] = df['a']
df.loc[df['a'] == 0, 'd'] = d