我尝试根据第四列中的值填充另两列中的一列中的值。
我有一个包含四列的pandas数据帧: A、B、C、D
df_copy = df.copy()
for i, row in df.iterrows():
if 'Test' in row.D:
df_copy.loc[i, 'A'] = row.B
elif 'Other' in row.D:
df_copy.loc[i, 'A'] = row.C
这是可行的,但速度非常慢。有没有更有效的方法?
我有一个熊猫数据框架,如下所示。 import pandas as pd
df = pd.DataFrame({
'A':[1,2,3],
'B':[100,300,500],
'C':list('abc')
})
print(df)
A B C
0 1 100 a
1 2 300 b
2 3 500 c 我想要使整个数据帧标准化。由于列C不是编号列,我所做的如下所示(即首先删除C,
所以我有一个数据帧,看起来像这样: import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.zeros(8)}) 输出如下所示:
我有一个类似于下面看到的数据帧。 In[2]: df = pd.DataFrame({'P1': [1, 2, None, None, None, None],'P2': [None, None, 3, 4, None, None],'P3': [None, None, None, None, 5, 6]})
Out[2]:
P1 P2 P3
0 1.0 NaN NaN
1 2.0 NaN NaN
2 NaN 3.0 NaN
3 NaN 4.0 NaN
4 NaN NaN 5.0
5 NaN
我有两个列表A和B。我想检查列表A的输入"Nein“,如果这是真的,那么我想从列表B中获得相应的文本,并在下一个命令中使用输出(例如:A)作为输入。这必须遍历整个列表(否则,传递循环)。 我使用pandas从excel中提取了这两列,并将其转换为列表。 A = [Nein, Ja, Nein, Ja, Nein, Nein]
B = [A, B, C, D, E, F]
for i in A:
if i == "Nein":
print(i)
???? 任何帮助都将不胜感激。
我需要获取每个列的类型,以便对其进行适当的预处理。
目前,我通过以下方法做到这一点:
import pandas as pd
# input is of type List[List[any]]
# but has one type (int, float, str, bool) per column
df = pd.DataFrame(input, columns=key_labels)
column_types = dict(df.dtypes)
matrix = df.values
由于我只使用pandas获取数据类型(每列),而使用numpy获取其他所有内容,因此我希望将panda
我有一个数据帧,看起来像这样: A B C D E
0 P 10 NaN 5.0 9.0
1 Q 19 NaN NaN 4.0
2 R 8 NaN 3.0 7.0
3 S 20 NaN 3.0 7.0
4 T 4 NaN 2.0 NaN 我有一个列表:[['A', 'B', 'D', 'E'], ['A', 'B', 'D'], ['A', 'B', 'E']] 我
我可以通过迭代这些行来替换熊猫的特定列中的值,并将这些值与包含在元组列表中的相应的元组对相匹配。
但是,当我在大型dataframe上运行这段代码时,它变得相对缓慢,因为它必须遍历整个元组列表才能在dataframe中找到行的匹配项。(12280 21 23:21,8.66 21/s)
是否有更多的琵琶方法来进行匹配和替换?例如,索引元组列表,以及一些按索引过滤的代码?
下面可以找到我用过的代码。
import pandas as pd
from tqdm import tqdm
# initialize list of lists
data = [['some', 1]
考虑下面是我的数据框架,我希望填充百分比列,将单个标记除以Total,以获得百分比。
Name Marks
0 Total 100
1 Name1 45
2 Name2 65
3 name3 93
4 name4 89
我写了这样的代码
for i in range(0,5):
pcnt=(df['Marks'][i])/(df['Marks'][0])
df['Percentage']=pcnt*100
但是百分比列只为所有行生成0。上面的代码只是一个例子
我想比较几对pandas数据格式中的一个列,并将共享值写入一个空列表中。我已经编写了一个函数,它可以用一对数据文件来完成这个任务,但是我似乎无法将它放大。
def parser(dataframe1,dataframe2,emptylist):
for i1 in dataframe1['POS']:
for i2 in dataframe2['POS']:
if i1 == i2:
emptylist.append(i1)
其中'POS