我想创建一个带有单行的python pandas DataFrame,以使用进一步的pandas功能,如转储到*.csv.
我已经看到使用了以下代码,但我最终只得到列结构,但是空数据
import pandas as pd
df = pd.DataFrame()
df['A'] = 1
df['B'] = 1.23
df['C'] = "Hello"
df.columns = [['A','B','C']]
print df
Empty DataFrame
Columns: [A, B, C]
Index: []
Run Code Online (Sandbox Code Playgroud)
虽然我知道还有其他方法可以做到这一点(比如来自字典),但我想了解为什么这段代码对我不起作用!?这是版本问题吗?(使用pandas == 0.19.2)
如果你在Python曾与熊猫你dataframes的切片工作的时候就已经知道chained_assignment警告(如例如描述这里)。
我找到了pandas.options.mode.chained_assignment可以设置为的选项
None,忽略警告"warn", 打印警告信息"raise", 引发异常与文档比较
我包含了一个最小示例,在try..except..else异常处理块中触发此警告。我希望仅使用设置触发异常pandas.options.mode.chained_assignment = "raise",如下面的示例 3 所示。
在这个最小的示例中,行为符合预期,因此示例 2
pandas.options.mode.chained_assignment = "warn"仅导致打印警告消息,但不会引发异常。
然而,在一个更大的框架中,我看到一个异常被引发,即使参数被设置为pandas.options.mode.chained_assignment = "warn",就像在最小的例子中一样之前用打印检查(见示例 4)
是否有任何其他 Pandas 参数会影响此有关异常引发的警告消息的行为?
这是一个最小的代码示例,设置/打印pd.options.mode.chained_assignment参数并在try..catch..except块中显示行为。
import pandas as pd
# set the chained_assignment option
pd.options.mode.chained_assignment = "raise" # raises exception in case of warning
pd.options.mode.chained_assignment = "warn" # prints warning in case of warning, no exception is raised
pd.options.mode.chained_assignment …Run Code Online (Sandbox Code Playgroud)