草庐IT

python - 由于插入另一列,阻止 Pandas 将 int 转换为 float

我有一个DataFrame有两列:一列int和一列str。我了解如果我将NaN插入int列,Pandas会将所有int转换为float因为int没有NaN值。但是,当我将None插入str列时,Pandas会将我的所有int转换为float为出色地。这对我来说没有意义-为什么我在第2列中输入的值会影响第1列?这是一个简单的工作示例):importpandasaspddf=pd.DataFrame()df["int"]=pd.Series([],dtype=int)df["str"]=pd.Series([],dtype=str)df.loc[0]=[0,"zero"]print(df)

python - 从 Python 中的嵌套列表中删除一列

我需要帮助来确定如何解决从嵌套列表中删除“列”以修改它的问题。说我有L=[[1,2,3,4],[5,6,7,8],[9,1,2,3]]我想删除第二列(所以值2,6,1)得到:L=[[1,3,4],[5,7,8],[9,2,3]]我不知道如何只取出一列来修改列表。我以前做过类似的事情吗?除了我们改为打印它,当然它在这种情况下不起作用,因为我相信break与我想要在列表中的其余值冲突。defL_break(L):i=0whilei那么,您将如何修改这个嵌套列表?将其与我发布的代码进行比较,我的想法是否正确,或者这是否需要不同的东西? 最佳答案

python - 删除除一列之外的所有 Pandas 数据框?

我有一个pandas数据框,想删除所有列以保存索引和一个名为“bob”的列我该怎么做? 最佳答案 你可以简单地写:df=df[['bob']]其他列将被垃圾回收。 关于python-删除除一列之外的所有Pandas数据框?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19062612/

python - Pyspark:解析一列 json 字符串

我有一个由一列组成的pyspark数据框,称为json,其中每一行都是json的unicode字符串。我想解析每一行并返回一个新的数据框,其中每一行都是解析后的json。#SampleDataFramejstr1=u'{"header":{"id":12345,"foo":"bar"},"body":{"id":111000,"name":"foobar","sub_json":{"id":54321,"sub_sub_json":{"col1":20,"col2":"somethong"}}}}'jstr2=u'{"header":{"id":12346,"foo":"baz"},"

python - Pandas :将多列汇总为一列,没有最后一列

如果我有一个类似于这个的数据框ApplesBananasGrapesKiwis23nan1137nannannan23我想添加这样的列ApplesBananasGrapesKiwisFruitTotal23nan16137nan11nannan235我猜你可以使用df['Apples']+df['Bananas']等等,但我的实际数据框比这大得多。我希望像df['FruitTotal']=df[-4:-1].sum这样的公式可以在一行代码中解决问题。然而这并没有奏效。有没有办法在不明确总结所有列的情况下做到这一点? 最佳答案 您可以

python - Pandas Groupby 和 Sum Only 一列

所以我有一个数据框df1,如下所示:ABC1foo12California2foo22California3bar8RhodeIsland4bar32RhodeIsland5baz15Ohio6baz26Ohio我想按列A分组,然后对列B求和,同时保留列C中的值。像这样的:ABC1foo34California2bar40RhodeIsland3baz41Ohio问题是,当我说df.groupby('A').sum()列C被移除,返回BAbar40baz41foo34当我分组和求和时,如何解决这个问题并保留列C? 最佳答案 这样做的

python pandas没有从csv文件中读取第一列

我有一个简单的2列csv文件,名为st1.csv:GRIDSt11457614145865714596791460732146175414628111463748但是,当我尝试读取csv文件时,第一列没有加载:a=pandas.DataFrame.from_csv('st1.csv')a.columns输出:Index([u'ST1'],dtype=object)为什么第一列没有被读取? 最佳答案 从您的数据来看,您使用的分隔符似乎是。尝试以下方法:a=pandas.DataFrame.from_csv('st1.csv',sep=

python - 在 Pandas 中舍入一列

有没有办法在Pandas中舍入单个列而不影响数据框的其余部分?>>>print(df)itemvalue1value20a1.121.31a1.502.52a0.100.03b3.30-1.04b4.80-1.0我尝试了以下方法:>>>df.value1.apply(np.round)011220334555使数据看起来像这样的正确方法是什么:itemvalue1value20a11.31a22.52a00.03b3-1.04b5-1.05c55.0 最佳答案 你很亲密。您将回合应用于df.value1给出的一系列值。因此返回类型是

python - 用 Pandas 删除一列中的非数字行

有一个如下所示的数据框,它有一个不干净的列“id”,它应该是数字列id,name1,A2,B3,Ctt,D4,E5,Fde,G是否有一种简洁的方法来删除行,因为tt和de不是数值tt,Dde,G让数据框干净?id,name1,A2,B3,C4,E5,F 最佳答案 使用pd.to_numericIn[1079]:df[pd.to_numeric(df['id'],errors='coerce').notnull()]Out[1079]:idname01A12B23C44E55F 关于pyt

python - 从数据框中删除重复项,基于两列 A,B,在另一列 C 中保持具有最大值的行

我有一个pandas数据框,其中包含根据两列(A和B)的重复值:ABC121124271340348我想删除在C列中保持最大值的行的重复项。这将导致:ABC124271348我不知道该怎么做。我应该使用drop_duplicates()吗? 最佳答案 您可以使用groupby:c_maxes=df.groupby(['A','B']).C.transform(max)df=df.loc[df.C==c_maxes]c_maxes是每个组中C最大值的Series,但长度和索引相同df。如果您还没有使用过.transform,那么打印c